Part Number Hot Search : 
452016 GBU4K EB13C5 X1TCG C156C806 NS4203 5400A1 B32582
Product Description
Full Text Search
 

To Download DS1923-F5 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  1 of 53 rev: 120507 . ds1923 hygrochron temperature/humidity logger i button with 8kb data-log memory www.maxim-ic.com special features ? digital hygrometer measures humidity with 8-bit (0.6%rh) or 12-bit (0.04%rh) resolution ? operating range: -20 to +85c; 0 to 100%rh (see safe operating range) ? automatically wakes up, measures temperature and/or humidity and stores values in 8kb of datalog memory in 8- or 16-bit format ? digital thermometer measures temperature with 8-bit (0.5c) or 11-bit (0.0625c) resolution ? temperature accuracy better than 0.5c from -10c to +65c with software correction ? built-in humidity sensor for simultaneous temperature and humidity logging ? capacitive polymer humidity-sensing element ? hydrophobic filter protects sensor against dust, dirt, contaminants, and water droplets/condensation ? sampling rate from 1s up to 273hrs ? programmable recording start delay after elapsed time or upon a temperature alarm trip point ? programmable high and low trip points for temperature and humidity alarms ? quick access to alarmed devices through 1-wire ? conditional search function ? 512 bytes of general-purpose memory plus 64 bytes of calibration memory ? two-level password protection of all memory and configuration registers ? communicates to host with a single digital signal at up to 15.4kbps at standard speed or up to 125kbps in overdrive mode using 1-wire protocol ? individually calibrated in a nist-traceable chamber ? calibration coefficients for temperature and humidity factory programmed into nonvolatile (nv) memory applications ? temperature and humidity logging in food preparation and processing ? transportation of temperature- and humidity- sensitive goods, industrial production ? warehouse monitoring ? environmental studies/monitoring ordering information part temp range package DS1923-F5 -20c to +85c f5 i button i button description the ds1923 temperature/humidity logger i button ? is a rugged, self-sufficient system that measures temperature and/or humidity and records the result in a protected memory section. the recording is done at a user-defined rate. a total of 8192 8-bit readings or 4096 16-bit readings taken at equidistant intervals ranging from 1s to 273hrs can be stored. in addition to this, there are 512 bytes of sram for storing application-specific information and 64 bytes for calibration data. a mission to collect data can be programmed to begin immediately, or after a user- defined delay or after a temperature alarm. access to the memory and control functions can be password- protected. the ds1923 is configured and communicates with a host-computing device through the serial 1-wire protocol, which requires only a single data lead and a ground return. every ds1923 is factory-lasered with a guaranteed unique 64-bit registration number that allows for absolute traceability. the durable st ainless-steel package is highly resistant to environmental hazards such as dirt, moisture, and shock. accessories permit the ds1923 to be mounted on almost any object, including containers, pallets and bags. f5 microcan io gnd 0.51 5.89 16.25 17.35 ? front side brand a1 41 000000fbc52b 1-wire ? ? ? hygrochron tm back side brand all dimensions are shown in millimeters. 1-wire and i button are registered trademarks and hygrochron is a trademark of dallas semiconductor, corp., a wholly owned subsidiary of maxim integrated products, inc.
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 2 of 53 ds1923 absolute ma ximum ratings io voltage to gnd -0.3v, +6v io sink current 20ma operating temperature and humidity range -20c to +85c, 0%rh to 100%rh (see safe operating range chart) storage temperature and humidity range -40c to +85c, 0%rh to 100%rh (see safe operating range chart) this is a stress rating only and functional operation of the device at these or any other conditions above those indicated in the operation sections of this specificati on is not implied. exposure to absolute maximum rating conditions for extended periods of time may affect reliability. ds1923 electrical ch aracteristics (v pup = 3.0v to 5.25v, t a = -20c to +85c) parameter symbol conditions min typ max units io pin general data 1-wire pullup resistance r pup (notes 1, 2) 2.2 k input capacitance c io (note 3) 100 800 pf input load current i l io pin at v pup 6 10 a high-to-low switching threshold v tl (notes 4. 5) 0.4 3.2 v input low voltage v il (notes 1, 6) 0.3 v low-to-high switching threshold v th (notes 4, 7) 0.7 3.4 v switching hysteresis v hy (note 8) 0.09 n/a v output low voltage v ol at 4ma (note 9) 0.4 v standard speed, r pup = 2.2k 5 overdrive speed, r pup = 2.2k 2 recovery time (note 1) t rec overdrive speed, directly prior to reset pulse; r pup = 2.2k 5 s rising-edge hold-off time t reh (note 10) 0.6 2.0 s standard speed 65 overdrive speed, v pup > 4.5v 8 timeslot duration (note 1) t slot overdrive speed (note 11) 9.5 s io pin, 1-wire reset, presence detect cycle standard speed, v pup > 4.5v 480 720 standard speed (note 11) 690 720 overdrive speed, v pup > 4.5v 48 80 reset low time (note 1) t rstl overdrive speed (note 11) 70 80 s standard speed, v pup > 4.5v 15 60 standard speed (note 11) 15 63.5 presence-detect high time t pdh overdrive speed (note 11) 2 7 s standard speed, v pup > 4.5v 1.5 5 standard speed 1.5 8 presence-detect fall time (note 12) t fpd overdrive speed 0.15 1 s standard speed, v pup > 4.5v 60 240 standard speed (note 11) 60 287 overdrive speed, v pup > 4.5v (note 11) 7 24 presence-detect low time t pdl overdrive speed (note 11) 7 28 s standard speed, v pup > 4.5v 65 75 standard speed 71.5 75 presence-detect sample time (note 1) t msp overdrive speed 8 9 s
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 3 of 53 parameter symbol conditions min typ max units io pin, 1-wire write standard speed 60 120 overdrive speed, v pup > 4.5v (note 11) 6 12 write-0 low time (note 1) t w0l overdrive speed (note 11) 7.5 12 s standard speed 5 15 - write-1 low time (notes 1, 13) t w1l overdrive speed 1 1.95 - s io pin, 1-wire read standard speed 5 15 - read low time (notes 1, 14) t rl overdrive speed 1 1.95 - s standard speed t rl + 15 read sample time (notes 1, 14) t msr overdrive speed t rl + 1.95 s real-time clock accuracy +25c -3 +3 min./ month frequency deviation f -20c to +85c -300 +60 ppm temperature converter 8-bit mode (note 15) 30 75 conversion time t conv 16-bit mode (11 bits) 240 600 ms thermal response time constant resp i button package (note 16) 130 s conversion error without software correction ? (notes 15, 17, 18, 19) see temperature accuracy graphs c conversion error with software correction ? (notes 15, 17, 18, 19) see temperature accuracy graphs c humidity converter (note 30) humidity response time constant rh slow moving air (note 20) 30 s (note 21) 8 12 12 bits rh resolution 0.64 0.04 0.04 %rh rh range (note 22) 0 100 %rh rh accuracy and interchangeability with software correction (notes 18, 19, 23, 24, 25) 5 %rh rh nonlinearity with software correction (note 18) <1 rh hysteresis (notes 26, 27) 0.5 %rh rh repeatability (not e 28) 0.5 %rh long-term stability at 50%rh (note 29) <1.0 %rh/y note 1: system requirement. note 2: maximum allowable pullup resistance is a func tion of the number of 1-wire devices in the system and 1-wire recovery times. the specified value here applies to systems with only one device and with the minimum 1-wire recovery times. for more heavily loaded systems, an active pullup such as that found in the ds2480b may be required. note 3: capacitance on the data pin could be 800pf when v pup is first applied. if a 2.2k resistor is used to pull up the data line 2.5s after v pup has been applied, the parasite capacitanc e does not affect normal communications. note 4: v tl , v th are a function of the internal supply voltage. note 5: voltage below which, during a falling edge on io, a logic '0' is detected. note 6: the voltage on io needs to be less or equal to v ilmax whenever the master drives the line low. note 7: voltage above which, during a rising edge on io, a logic '1' is detected. note 8: after v th is crossed during a rising edge on io, the voltage on io has to drop by v hy to be detected as logic '0'. note 9: the i-v characteristic is linear for voltages less than 1v. note 10: the earliest recognition of a negative edge is possible at t reh after v th has been previously reached. note 11: highlighted numbers are not in compliance with the published i button standards. see comparison table below. note 12: interval during the negative edge on io at the beginning of a presen ce detect pulse between the time at which the voltage is 90 % of v pup and the time at which the voltage is 10% of v pup . note 13: represents the time required for the pullup circuitry to pull the voltage on io up from v il to v th . note 14: represents the time required for the pullup ci rcuitry to pull the voltage on io up from v il to the input high threshold of the bus master. note 15: to conserve battery power, use 8-bit temperature logging whenever possible. note 16: this number was derived from a test conducted by cemagref in antony, france, in july of 2000. http://www.cemagref.fr/english/index.htm test report no. e42.
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 4 of 53 note 17: for software corrected accuracy, assume correction using calibration coefficients with calibration equations for error compensation. note 18: software correction for humidity and temperature is handled automat ically using the 1-wire view er software package available at: http://www.ibutton.com. note 19: warning: not for use as the sole method of measuring or tra cking temperature and/or humidity in products and articles that could affect the health or safety of persons, plants, animals , or other living organisms, including but not limited to foods, beverages, pharmaceuticals, medications, blood and blood products, organs, flammable, and combustible products. user shall assure that redundant (or other primary) methods of testing and determining the handling methods, quality, and fitness of the articles and products shoul d be implemented. temperature and/or humidity tracking with this product, where the health or safety of the aforementioned persons or things could be adversely affected, is only recommended when supplemental or redundant information sources are used. data logger products are 100% tested and calibrated at time of manufacture by dallas semiconductor/maxim to ensure that they meet all data sheet parameters, including temperature accuracy. user shall be responsible for proper use and storage of this product. as with any sensor-based product, user shall also be responsible for occasionally rechecking the temperature accuracy of the product to ensure it is still operating properly. note 20: response time is determined by m easuring the 1/e point as the device transitions from 40 to 90%rh or 90 to 40%rh, whichever is slower. test was performed at 5l/min airflow. note 21: all ds1923 humidity measurements are 12-bit r eadings. missioning determines 8-bit or 16-bit data logging. battery lifetime is the same no matter what rh resolution is logged. note 22: reliability studies have shown that the dev ice survives a minimum of 1000 cycles of condensation and drying, but this product i s not guaranteed for extended use in condensing environments. note 23: software corrected accuracy is accomplished using the method detailed in the software correction algorithm for temperature section of this data sheet. note 24: every ds1923 device is measured and calibrated in a controlled, nist-traceable rh environment. note 25: higher accuracy versions may be avail able. contact the factory for details. note 26: if this device is exposed to a high humidity environment (>70 %rh), and then exposed to a lower rh environment, the device will read high for a period of time. the device will typically read wi thin +0.5%rh at 20%rh, 30 minutes after being exposed to continuous 80%rh for 30 minutes. note 27: all capacitive rh sensors can change thei r reading depending upon how long they have spent at high (>70%rh) or low rh (<20%rh). this effect is called saturation drift and can be compensated through software, as described in the software saturation drift compensation section of this data sheet. note 28: individual rh readings always include a noi se component (repeatability). to minimize measurement error, average as many samples as is reasonable. note 29: like all relative humidity sensors, wh en exposed to contaminants and/or conditions to ward the limits of the safe operating rang e, accuracy degradation can result (see safe operating range chart). for maximum long-term stability, the sensor should not be exposed or subjected to organic solvent s, corrosive agents (strong acids, so 2 , h 2 so 4 , ci 2 ,hcl, h 2 s, etc.) and strong bases (compounds with ph greater than 7). dust settling on the filter su rface does not affect the sensor performance except to possib ly decrease the speed of response. for more information on the rh sensor ?s tolerance to chemicals visit: http://content.honeywell.com/sensing/prodi nfo/humiditymoisture/technical/c15_144.pdf note 30: all humidity specifications are determined at + 25c except where specifically indicated. standard values ds1923 values parameter standard speed overdrive speed standard speed overdrive speed name min max min max min max min max t slot (incl. t rec ) 61s (undef.) 7s (undef.) 65s 1) (undef.) 9.5s (undef.) t rstl 480s (undef.) 48s 80s 690s 720s 70s 80s t pdh 15s 60s 2s 6s 15s 63.5s 2s 7s t pdl 60s 240s 8s 24s 60s 287s 7s 28s t w0l 60s 120s 6s 16s 60s 120s 7.5s 12s 1) intentional change, longer recovery time re quirement due to modified 1-wire front end. physical specification size see mechanical drawing weight ca. 5.0 grams safety meets ul#913 (4 th edit.); intrinsically safe apparatus, approval under entity concept for use in class i, division 1, group a, b, c, and d locations
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 5 of 53 safe operating range 0 20 40 60 80 100 -40-20 0 20406080 temperature (c) humidity (%rh) safe operating zone stora g e onl y ds1923 temperature accuracy -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 -20-10 0 1020304050607080 temperature (c) ds1923: error (c) uncorrected max error uncorrected min error sw corrected max error sw corrected min error note : the graphs are based on 11-bit data.
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 6 of 53 minimum lifetime vs. temperature, slow sampling temperature only 0 1 2 3 4 5 6 7 8 9 10 -20-10 0 1020304050607080 ds1923: temperature (c) 8-bit min. product lifetime (years) every minute every 3 min. every 10 min. every 60 min. no samples osc. off 0 1 2 3 4 5 6 7 8 9 10 -20-10 0 1020304050607080 ds1923: temperature (c) 11-bit min. product lifetime (years) every minute every 3 min. every 10 min. every 30 min. every 60 min. every 300 min. no samples osc. off
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 7 of 53 minimum lifetime vs. temperature, fast sampling temperature only 0 50 100 150 200 250 300 350 -20-10 0 1020304050607080 ds1923: temperature (c) 8-bit min. product lifetime (days) every second every 3 sec. every 10 sec. every 30 sec. every 60 sec. 0 20 40 60 80 100 -20-10 0 1020304050607080 ds1923: temperature (c) 11-bit min. product lifetime (days) every second every 3 sec. every 10 sec. every 30 sec. every 60 sec.
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 8 of 53 minimum lifetime vs. temperature, slow sampling, temperature with humidity 0 1 2 3 4 5 6 7 8 9 10 -20-100 1020304050607080 ds1923: temperature (c) 8-bit temp. plus humidity min. product lifetime (years) every minute every 3 min. every 10 min. every 60 min. no samples osc. off minimum lifetime vs. temperature, fast sampling, temperature with humidity 0 50 100 150 200 250 300 350 -20-10 0 1020304050607080 ds1923: temperature (c) 8-bit temp. plus humidity min. product lifetime (days) every second every 3 sec. every 10 sec. every 30 sec. every 60 sec.
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 9 of 53 minimum product lifetime vs. sa mple rate (temperature only) 0.01 0.1 1 10 0.01 0.1 1 10 100 ds1923: minutes between samples 8-bit min. product lifetime (years) 0c 40c 60c 75c 85c note: with humidity logging activated, the lifetime is reduce d by less than 11% for sample rate of 3 minutes and slower and by a maximum of 20% for sample rate of 1 minute and faster. 0.001 0.01 0.1 1 10 0.01 0.1 1 10 100 ds1923: minutes between samples 11-bit min. product lifetime (years) 0c 40c 60c 75c 85c note: with humidity logging activated, the lifetime is r educed by a maximum of 4%. the incremental energy consumed by humidity logging is independent of the humidity logging resolution.
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 10 of 53 common i button features ? digital identification and information by momentary contact ? unique factory-lasered 64-bit regist ration number assures error-free device selection and absolute traceability because no two parts are alike ? built-in multidrop controller for 1-wire net ? chip-based data carrier compactly stores information ? data can be accessed while affixed to object ? button shape is self-ali gning with cup-shaped probes ? durable stainless-steel case engraved with re gistration number withstands harsh environments ? easily affixed with self-stick adhesive backing, latch ed by its flange, or locked with a ring pressed onto its rim ? presence detector acknowledges when reader first applies voltage ? meets ul#913 (4th edit.); intrinsically safe apparat us: approved under entity concept for use in class i, division 1, group a, b, c, and d locations examples of accessories ds9096p self-stick adhesive pad ds9101 multipurpose clip ds9093ra mounting lock ring ds9093a snap-in fob ds9092 i button probe application the ds1923 is an ideal device to monitor for extended peri ods of time the temperature and humidity of any object it is attached to or shipped with, such as fresh produce, medical drugs and supplies and for use in refrigerators and freezers, as well as for logging climatic data during the transport of sensitive objects and critical processes such as curing. a 1.27mm diameter hole in the lid of the device allows for air to reach the humidity sensor. the rest of the electronics inside the ds1923 is sealed so that it is not exposed to ambient humi dity. note that the initial sealing level of ds1923 achieves ip56. aging and use conditions ca n degrade the integrity of the seal over time, so for applications with significant exposure to liquids, sprays, or other similar environments, it is recommended to place the hygrochron under a shie ld to protect it (see www.maxim-ic.com/an4126 ). the hydrophobic filter may not protect the ds1923 from destruction in the event of full submersion in liquid. software for setup and data retrieval through the 1-wire interface is av ailable for free download from the i button website ( www.ibutton.com ). this software also includes drivers for the serial and usb port of a pc, and routines to access the general-purpose memory for storing application- or equipment-specific data files. overview the block diagram in figure 1 shows the relationships between the major control a nd memory sections of the ds1923. the device has six main data components: 1) 64-b it lasered rom, 2) 256-bit scratchpad, 3) 512-byte general-purpose sram, 4) two 256-bit register pages of timekeeping, control, status, and counter registers and passwords, 5) 64 bytes of calibration memory, and 6) 8192 by tes of data-logging memory. except for the rom and the scratchpad, all other memory is arranged in a single linear address space. the data logging memory, counter registers and several other registers are read-only for t he user. both register pages ar e write-protected while the device is programmed for a mission. the password re gisters, one for a read password and another one for a read/write password can only be written to but never read. the hierarchical structure of the 1-wire protocol is shown in figure 2. the bu s master must first provide one of the eight rom function commands: 1) read rom, 2) match ro m, 3) search rom, 4) conditional search rom, 5) skip rom, 6) overdrive-skip rom, 7) overdrive-matc h rom, or 8) resume. upon completion of an overdrive rom command byte executed at standard speed, the device enters overdrive m ode, where all subsequent communication occurs at a higher speed. the protocol required for these rom function commands is described in figure 11. after a rom function command is successfully executed, the memory and control functions become accessible and the master can provide any one of the eight available command s. the protocol for these memory and control function commands is described in figure 9. all data is read and written least significant bit first.
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 11 of 53 figure 1. ds1923 block diagram internal timekeeping & control reg. & counters general-purpose sram (512 bytes) register pages (64 bytes) calibration memory (64 bytes) datalog memory 8k bytes 32.768 khz oscillator control logic 256-bit scratchpad memory function control rom function control 64-bit lasered rom parasite powered circuitry 1-wire port io adc1 thermal sense 3v lithium humidity sensor and adc2 parasite power the block diagram (figure 1) shows the parasite-powered ci rcuitry. this circuitry ?steals? power whenever the io input is high. io provides sufficient power as long as the specified timing and voltage requirements are met. the advantages of parasite power are two-fold: 1) by parasiting off this input, battery power is conserved, and 2) if the battery is exhausted for any reason, the rom may still be read. 64-bit lasered rom each ds1923 contains a unique rom code that is 64 bits long. the first 8 bits are a 1-wire family code. the next 48 bits are a unique serial number. the last 8 bits are a crc of the first 56 bits. see figure 4 for details. the 1- wire crc is generated using a polynomial generator consisti ng of a shift register and xor gates as shown in figure 3. the polynomial is x 8 + x 5 + x 4 + 1. additional information about t he dallas 1-wire cyclic redundancy check is available in dallas application note 27. the shift register bits are initialized to 0. then starting wi th the least significant bit of the family code, one bit at a time is shifted in. after the 8th bit of the family code has been entered, then the seri al number followed by the temperature range code is entered. afte r the range code has been entered, t he shift register contains the crc value. shifting in the 8 bits of crc returns the shift register to all 0s. ds1923
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 12 of 53 figure 2. hierarchical struct ure for 1-wire protocol 1-wire net other devices bus master ds1923 a vailable commands: command level: data field a ffected: 1-wire rom function commands ds1923-specific memory function commands read rom match rom search rom conditional search rom skip rom resume overdrive skip overdrive match 64-bit rom, rc-flag 64-bit rom, rc-flag 64-bit rom, rc-flag 64-bit rom, rc-flag, alarm flags, search conditions rc-flag rc-flag rc-flag, od-flag 64-bit rom, rc-flag, od-flag write scratchpad read scratchpad copy scratchpad w/pw read memory w/pw & w/crc clear memory w/pw forced conversion start mission w/pw stop mission w/pw 256-bit scratchpad, flags 256-bit scratchpad 512 byte data memory, registers, flags, passwords memory, registers, passwords mission time stamp, mission samples counter, start delay, alarm flags, passwords memory addresses 020c to 020fh flags, timestamp, memory addresses 020c to 020fh (when logging) flags figure 3. 1-wire crc generator x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 polynomial = x 8 + x 5 + x 4 + 1 1 st stage 2 nd stage 3 rd stage 4 th stage 6 th stage 5 th stage 7 th stage 8 th stage input data
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 13 of 53 figure 4. 64-bit lasered rom msb lsb 8-bit crc code 48-bit serial number 8-bit family code (41h) msb lsb msb lsb msb lsb memory the memory map of the ds1923 is shown in figure 5. th e 512 bytes general-purpose sram are located in pages 0 through 15. the various registers to set up and contro l the device fill page 16 and 17, called register pages 1 and 2 (details in figure 6). pages 18 and 19 provide stor age space for calibration data. the "data log" logging memory starts at address 1000h (page 128) and extends over 256 pages. the memory pages 20 to 127 are reserved for future extensions. the scratchpad is an ad ditional page that acts as a buffer when writing to the sram memory or the register page. the data memory can be written at any time. the calibration memory holds data from the device calibration that can be used to fu rther improve the accuracy of temperature and humidity readings. see the software correction algorithm sections for details. the last byte of the calibration memory page stores an 8-bit crc of the preceding 31 bytes. page 19 is an exact copy of the data in page 18. while the user can overwrite the calibration memory, this is not recommended. see the security by password section for ways to protect the memory. the access type for the register page s is register-specific and de pends on whether the device is programmed for a mission. figure 6 shows the details. th e data log memory is read-only for the user. it is written solely under supervision of the on-chip control logic. due to the special behav ior of the write access logic (write scratchpad, copy scratchpad) it is recommended to only writ e full pages at a time. this also applies to the register pages and the calibration memory. see the address register and transfer status section for details. figure 5. ds1923 memory map 32-byte intermediate storage scratchpad a ddress 0000h to 001fh 32-byte general-purpose sram (r/w) page 0 0020h to 01ffh general-purpose sram (r/w) pages 1 to 15 0200h to 021fh 32-byte register page 1 page 16 0220h to 023fh 32-byte register page 2 page 17 0240h to 025fh calibration memory page 1 (r/w) page 18 0260h to 027fh calibration memory page 2 (r/w) page 19 0280h to 0fffh (reserved for future extensions) pages 20 to 127 1000h to 2fffh data log memory (read-only) pages 128 to 383
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 14 of 53 figure 6. ds1923 register pages map addr b7 b6 b5 b4 b3 b2 b1 b0 function access* 0200h 0 10 seconds single seconds 0201h 0 10 minutes single minutes real- 0202h 0 12/24 20h. am/pm 10h. single hours time clock r/w; r 0203h 0 0 10 date single date registers 0204h cent 0 0 10m. single months 0205h 10 years single years 0206h low byte sample 0207h 0 0 high byte rate r/w; r 0208h low threshold temp. 0209h high threshold alarms r/w; r 020ah low threshold humidity 020bh high threshold alarms r/w; r 020ch low byte 0 0 0 0 0 latest r; r 020dh high byte temp. 020eh low byte latest 020fh high byte humidity r; r 0210h 0 0 0 0 0 0 etha etla t.alm.en. r/w; r 0211h 1 1 1 1 1 1 ehha ehla h.alm.en. r/w; r 0212h 0 0 0 0 0 0 ehss eosc rtc en. r/w; r 0213h 1 1 suta ro hlfs tlfs ehl etl mis. cntrl. r/w; r 0214h bor 1 1 1 hhf hlf thf tlf alm. stat. r; r 0215h 1 1 0 wfta memclr 0 mip 0 gen. stat. r; r 0216h low byte start 0217h center byte delay r/w; r 0218h high byte counter 0219h 0 10 seconds single seconds 021ah 0 10 minutes single minutes 021bh 0 12/24 20h. am/pm 10h. single hours mission time r; r 021ch 0 0 10 date single date stamp 021dh cent 0 0 10m. single months 021eh 10 years single years 021fh (no function; reads 00h) (n/a) r; r 0220h low byte mission 0221h center byte sample r; r 0222h high byte counter 0223h low byte device 0224h center byte sample r; r 0225h high byte counter 0226h configuration code flavor r; r 0227h epw pw. cntrl. r/w; r 0228h first byte read ? ? access w; ? 022fh eighth byte password 0230h first byte full ? ? access w; ? 0237h eighth byte password 0238h ? (no function; all of these bytes read 00h) (n/a) r; r 023fh note: the first entry in column access type is valid between missions. th e second entry show s the applicable access type while a mission is in progress.
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 15 of 53 timekeeping and calendar the real-time clock/alarm and calendar information is ac cessed by reading/writing the appropriate bytes in the register page, address 200h to 205h. for readings to be va lid, all rtc registers must be read sequentially starting at address 0200h. some of the rtc bits are set to 0. thes e bits always read 0 regardle ss of how they are written. the number representation of the real-time clock registers is bcd format (binary-coded decimal). real-time clock and rtc al arm register bitmap addr b7 b6 b5 b4 b3 b2 b1 b0 0200h 0 10 seconds single seconds 0201h 0 10 minutes single minutes 0202h 0 12/24 20h. am/pm 10h. single hours 0203h 0 0 10 date single date 0204h cent 0 0 10m. single months 0205h 10 years single years the real-time clock of the ds1923 can run in either 12-hour or 24-hour mode. bit 6 of the hours register (address 202h) is defined as the 12- or 24-hour mode select bit. when high, the 12-hour mode is selected. in the 12-hour mode, bit 5 is the am/pm bit with logic 1 being pm. in the 24-hour mode, bit 5 is the 20-hour bit (20 to 23 hours). the cent bit, bit 7 of the months register, can be writt en by the user. this bit changes its state when the years counter transitions from 99 to 00. the calendar logic is designed to automatically compensate for leap years. for every year va lue that is either 00 or a multiple of 4 the device will add a 29th of february. this will work correctly up to (but not including) the year 2100. sample rate the content of the sample rate register (addresses 0206h, 0207h) specifies the time elapse (in seconds if ehss = 1, or minutes if ehss = 0) between two temperature/humid ity logging events. the sample rate can be any value from 1 to 16383, coded as an unsigned 14-bit binary number. if ehss = 1, the shortest time between logging events is 1 second and the longest (sam ple rate = 3fffh) is 4.55 hours. if eh ss = 0, the shortest is 1 minute and the longest time is 273.05 hours (sample rate = 3fffh). th e ehss bit is located in t he rtc control register at address 0212h. it is important that the user sets the ehss bit accordingly while setting the sample rate register . a sample rate of 0000h is not valid and must be avoided under all circumstances. this causes the device to enter into an unrecoverable state. sample rate register bitmap addr b7 b6 b5 b4 b3 b2 b1 b0 0206h sample rate low 0207h 0 0 sample rate high during a mission, there is only read access to these regi sters. bits cells marked "0" always read 0 and cannot be written to 1. temperature conversion the ds1923 measures temperatures in t he range of -20c to +85c. temperature values are represented as a 8- or 16-bit unsigned binary number with a resolution of 0. 5c in the 8-bit mode and 0.0625c in the 16-bit mode. the higher temperature byte trh is always valid. in the 16-bit mode only the three highest bits of the lower byte trl are valid. the five lower bits all read zero. trl is und efined if the device is in 8-bit temperature mode. an out- of-range temperature reading is indicated as 00h or 0000h when too cold and ffh or ffe0h when too hot.
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 16 of 53 latest temperature conversi on result register bitmap addr b7 b6 b5 b4 b3 b2 b1 b0 020ch t2 t1 t0 0 0 0 0 0 trl 020dh t10 t9 t8 t7 t6 t5 t4 t3 trh with trh and trl representing the decimal equivalent of a temperature reading the temperature value is calculated as ? (c) = trh/2 - 41 + trl/512 (16-bit mode, tlfs = 1, see address 0213h) ? (c) = trh/2 - 41 (8-bit mode, tlfs = 0, see address 0213h) this equation is valid for converting temperature readings stored in the data log memory as well as for data read from the latest temperature conversion result register. to specify the temperature alarm thresholds , the equation above needs to be resolved to talm = 2 * ? (c) + 82 since the temperature alarm threshold is only one byte, the resolution or temperature increment is limited to 0.5c. the talm value needs to be converted into hexadecimal format before it can be written to one of the temperature alarm threshold registers ( low alarm address 0208h; high alarm address 0209h ). independent of the conversion mode (8- or 16-bit) only the most significant by te of a temperature conversion is used to determine whether an alarm is generated. temperature conversion examples mode trh hex decimal trl hex decimal ? (c) 8-bit 54h 84 ? ? 1.0 8-bit 17h 23 ? ? -29.5 16-bit 54h 84 00h 0 1.000 16-bit 17h 23 60h 96 -29.3125 temperature alarm threshold examples ? (c) talm hex decimal 25.5 85h 133 -10.0 3eh 62 humidity conversion in addition to temperature, the ds1923 can log humidity data in 8-bit or 16-bit format. humidity values are represented as 8- or 16-bit unsigned binary numbers wi th a resolution of 0.64%rh in the 8-bit mode and 0.04 %rh in the 16-bit mode. the ds1923 reads data from its humidity sensor whe never a forced conversion command is executed (see memory/control function commands ) or during a mission, if the device is set up to log humidity data. regardless of its setup, the ds1923 always reads 16 bits from the humidity sensor. the result of the latest humidity reading is found at address 020eh (low byte) and 020fh (high byte). the most significant bit read from the humidity sensor will always be found as h11 at address 020fh. due to the 12-bit digital output of the humidity sensor, the lower 4 bits in 16-bit format are undefined.
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 17 of 53 latest humidity conversion result register bitmap addr b7 b6 b5 b4 b3 b2 b1 b0 020eh h3 h2 h1 h0 x x x x hrl 020fh h11 h10 h9 h8 h7 h6 h5 h4 hrh during a mission, if humidity logging is enabled, the hrh by te (h11 to h4) is always recorded. the hrl byte is only recorded if the ds1923 is set up for 16-bit humidity logging. the logging mode (8-bit or 16-bit) is selected through the hlfs bit at the mission control register, address 0213h. with hrh and hrl representing the decimal equivalent of a humidity reading the actual humidity is calculated according to the algorithms shown in the table below. 16-bit mode, hlfs = 1 8-bit mode, hlfs = 0 ival = (hrh * 256 + hrl)/16 round ival down to the nearest integer; this eli- minates the undefined 4 bits of hrl. (n/a) adval = ival*5.02/4096 adval = hrh*5.02/256 humidity(%rh) = (adval - 0.958)/0.0307 the result is a raw humidity reading that needs to be corrected to achieve the specified accuracy. see the software correction algorithm for humidity section for further details. to specify the humidity alarm thresholds, the equation needs to be resolved to: adval = humidity(%rh) * 0.0307 + 0.958 halm = adval * 256/5.02 round halm to the nearest integer. the halm value needs to be converted into hexadecimal before it can be written to one of the humidity alarm threshold registers ( low alarm address 020ah; high alarm address 020b ). independent of the conversion mode (8-or 16-bit) only the most significant byte of a humidity conversion is used to determine whether an alarm will be generated. the alarm thresholds are applied to the ra w humidity readings. therefore, if software correction is used, the effect of the software correction is to be reversed before calculating a humidity alarm threshold. example : let the desired alarm threshold be 60%rh. the 60% threshold may correspond to a raw reading of 65%rh (i.e., before correction). to set a 60%rh (after corr ection) threshold, the halm value then needs to be calculated for 65%rh. humidity conversion examples mode hrh hex decimal hrl hex decimal humidity(%rh) 8-bit b5h 181 ? ? 84.41 8-bit 67h 103 ? ? 34.59 16-bit b5h 181 c0h 12 84.89 16-bit 67h 103 30h 48 34.70 humidity alarm threshold examples humidity(%rh) halm hex decimal 65 97h 151 25 58h 88 these examples do not include the effects of software correction.
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 18 of 53 temperature sensor alarm the ds1923 has two temperature alarm threshold registers (address 0208h, 0209h) to store values, which determine whether a critical temperature has been reac hed. a temperature alarm is generated if the device measures an alarming temperature a nd the alarm signaling is enabled. the bits etla and etha that enable the temperature alarm are located in the temperature sensor control register. the temperature alarm flags tlf and thf are found in the alarm stat us register at address 0214h. temperature sensor control register bitmap addr b7 b6 b5 b4 b3 b2 b1 b0 0210h 0 0 0 0 0 0 etha etla during a mission, there is only read access to this regist er. bits 2 to 7 have no function. they always read 0 and cannot be written to 1. register details bit description bit(s) definition etla: enable tempera- ture low alarm b0 this bit controls whether, during a mission, the temperature low alarm flag tlf can be set, if a temperature conversion results in a value equal to or lower than the value in the temperature low alarm threshold register. if etla is 1, temperature low alarms are enabled. if etla is 0, temperature low alarms are not generated. etha: enable temperature high alarm b1 this bit controls whether, during a mission, the temperature high alarm flag thf can be set, if a temperature conversion results in a value equal to or higher than the value in the temperature high alarm threshold register. if etha is 1, temperature high alarms are enabled. if etha is 0, temperature high alarms are not generated. humidity alarm the ds1923 has two humidity alarm threshold registers (address 020ah, 020bh) to store values, which determine whether humidity readi ngs can generate an alarm. such an alar m is generated if the humidity data read from the sensor qualifies for an alarm and the alarm si gnaling is enabled. the bits ehla and ehha that enable the humidity alarm are located in the humidity sensor control register. the corresponding alarm flags hlf and hhf are found in the alarm status register at address 0214h. humidity sensor control register bitmap addr b7 b6 b5 b4 b3 b2 b1 b0 0211h 1 1 1 1 1 1 ehha ehla during a mission, there is only read access to this regist er. bits 2 to 7 have no function. they always read 1 and cannot be written to 0. register details bit description bit(s) definition ehla: enable humidity low alarm b0 this bit controls whether, during a mission, the humidity low alarm flag hlf can be set, if a value from the hum idity sensor is equal to or lower than the value in the humidity low alarm threshold register. if ehla is 1, humidity low alarms are enabled. if ehla is 0, humidity low alarms are not generated. ehha: enable humidity high alarm b1 this bit controls whether, during a mission, the humidity high alarm flag hhf can be set, if a value from the humidity sensor is equal to or higher than the value in the humidity high alarm threshold register. if ehha is 1, humidity high alarms are enabled. if ehha is 0, humidity high alarms are not generated.
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 19 of 53 real-time clock control to minimize the power consumption of a ds1923, the real -time clock oscillator should be turned off when device is not in use. the oscillator on/off bit is located in the rtc control register. this register also includes the ehss bit, which determines whether the sample rate is specified in seconds or minutes. rtc control register bitmap addr b7 b6 b5 b4 b3 b2 b1 b0 0212h 0 0 0 0 0 0 ehss eosc during a mission, there is only read access to this regist er. bits 2 to 7 have no function. they always read 0 and cannot be written to 1. register details bit description bit(s) definition eosc: enable oscillator b0 this bit controls the crystal oscillator of the real-time clock. when set to logic 1, the oscillator starts operat ion. when written to logic 0, the oscillator stops and the device is in a low-power data retention mode. this bit must be 1 for normal operation. a temperature or humidity conversion must not be attempted while the rtc oscillator is stopped. this causes the device to enter into an unrecoverable state. ehss: enable high speed sample b1 this bit controls the speed of t he sample rate counter. when set to logic 0, the sample rate is specified in minutes. when set to logic 1, the sample rate is specified in seconds. mission control the ds1923 is set up for its operation by writing appropriate data to its special function registers, which are located in the two register pages. the settings in the mission control register determine whether temperature and/or humidity is logged, which format (8 or 16 bits) is to be used and whether old data can be overwritten by new data, once the data log memory is full. an additional control bit can be set to tell the ds1923 to wait with logging data until a temperature alarm is encountered. mission control register bitmap addr b7 b6 b5 b4 b3 b2 b1 b0 0213h 1 1 suta ro hlfs tlfs ehl etl during a mission, there is only read access to this regi ster. bits 6 and 7 have no function. they always read 1 and cannot be written to 0. register details bit description bit(s) definition etl: enable temperature logging b0 to set up the device for a temperature-logging mission, this bit must be set to logic 1. to successfully start a mission, etl or ehl must be 1. if temperature logging is enabled, t he recorded temperature values are always stored starting at address 1000h. ehl: enable humidity logging b1 to set up the ds1923 for a humidity-logging mission, this bit must be set to logic 1. if temperature and humidity logging are enabled, the recorded humidity values will begin at address 2000h (tlfs = hlfs) or 1a00h (tlfs = 0; hlfs = 1) or 2400h (tlfs = 1; hlfs = 0). if only humidity logging is enabled, the recorded values are stored starting at address 1000h. since humidity data has little scientific value without knowing the temperature, typica lly both, humidity and temperature logging are enabled, i. e., etl and ehl are set to 1. tlfs: temperature logging format selection b2 this bit specifies the format used to store temperature readings in the data log memory. if this bit is 0, the data will be stored in 8-bit format. if this bit is 1, the 16-bit format will be used (higher resolution). with 16-bit format, the most-significant byte is stored at the lower address.
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 20 of 53 bit description bit(s) definition hlfs: humidity logging format selection b3 this bit specifies the format used to store humidity readings in the data log memory. if this bit is 0, the data w ill be stored in 8-bit format. if this bit is 1, the 16-bit format is used (higher resolution). with 16-bit format, the most-significant byte is stored at the lower address. ro: rollover control b4 this bit controls whether, during a mission, the data log memory is overwritten with new data or whether data logging is stopped once the data log memory is full. setting this bit to 1 enables the rollover and data logging continues at the beginning, over writing previously collected data. if this bit is 0, the logging and conversions will stop once the data log memory is full. however, the rtc will continue to run and the mip bit will remain set until the stop mission command is performed. suta: start mission upon temperature alarm b5 this bit specifies whether a mission begins immediately (includes delayed start) or if a temperature alarm will be required to start the mission. if this bit is 1, the device will perform a temperature conversion at the selected sample rate and begin with data logging only if an alarming temperature (high alarm or low alarm) was found. the first logged temperature will be when t he alarm occurred. however, the mission sample counter will not in crement. the start upon tempera- ture alarm function is only available if temperature logging is enabled (etl = 1). alarm status the fastest way to determine whether a programmed temp erature or humidity threshold was exceeded during a mission is through reading the alarm stat us register. in a networked environm ent that contains multiple ds1923 i buttons the devices that encountered an alarm can quickl y be identified by means of the conditional search command (see rom function commands ). the humidity and temperature alarm only occurs if enabled (see temperature sensor alarm and humidity alarm ). the bor alarm is always enabled. alarm status register bitmap addr b7 b6 b5 b4 b3 b2 b1 b0 0214h bor 1 1 1 hhf hlf thf tlf there is only read access to this regist er. bits 4 to 6 have no function. they alwa ys read 1. all five alarm status bits are cleared simultaneously when the clear memory function is invoked. see memory and control functions for details. register details bit description bit(s) definition tlf: temperature low alarm flag b0 if this bit reads 1, there was at least one temperature conversion during a mission revealing a temperature equal to or lower than the value in the temperature low alarm register. a forced conversion can affect the tlf bit. this bit can also be set with the initial alarm in the suta = 1 mode. thf: temperature high alarm flag b1 if this bit reads 1, there was at least one temperature conversion during a mission revealing a temperature equal to or higher than the value in the temperature high alarm register. a forced conversion can affect the thf bit. this bit can also be set with the initial alarm in the suta = 1 mode. hlf: humidity low alarm flag b2 if this bit reads 1, there was at least one humidity reading during a mission revealing a value equal to or lower than the value in the humi- dity low alarm register. a forced conversion can affect the hlf bit. hhf: humidity high alarm flag b3 if this bit reads 1, there was at least one humidity reading during a mission revealing a value equal to or higher than the value in the humi- dity high alarm register. a forced c onversion can affect the hhf bit. bor: battery on reset alarm b7 if this bit reads 1, the device has performed a power-on reset. this indicates that the device has ex perienced a shock big enough to interrupt the internal battery power supply. the device can still appear functional, but it has lost its factory calibration. any data found in the data log memory should be disregarded.
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 21 of 53 general status the information in the general status register tells the host computer whether a mission-related command was executed successfully. individual stat us bits indicate whether the ds1923 is performing a mission, waiting for a temperature alarm to trigger the logging of data or whet her the data from the latest mission has been cleared. general status register bitmap addr b7 b6 b5 b4 b3 b2 b1 b0 0215h 1 1 0 wfta memclr 0 mip 0 there is only read access to this register. bits 0, 2, 5, 6, and 7 have no function. register details bit description bit(s) definition mip: mission in progress b1 if this bit reads 1 the device has been set up for a mission and this mission is still in progress. the mip bi t returns from logic 1 to logic 0 when a mission is ended. see function commands start mission and stop mission. memclr: memory cleared b3 if this bit reads 1, the mission time stamp, mission sample counter, as well as all the alarm flags of the alarm status register have been cleared in preparation of a new mission. executing the clear memory command clears these memory sections. the memclr bit returns to 0 as soon as a new mission is started by using the start mission command. the memory has to be cleared in order for a mission to start. wfta: waiting for temperature alarm b4 if this bit reads 1, the mission start upon temperature alarm was selected and the start mission comma nd was successfully executed, but the device has not yet experienced the temperature alarm. this bit is cleared after a temperature alarm even t, but is not affected by the clear memory command. once set, wfta remains set if a mission is stopped before a temperature alarm occurs. to clear wfta manually before starting a new mission, set the high temperature alarm (address 0209h) to -40c and perform a forced conversion. mission start delay the content of the mission start delay counter tells how m any minutes have to expire from the time a mission was started until the first measurement of the mission will take place (suta = 0) or until the device will start testing the temperature for a temperature alarm (suta = 1). the missio n start delay is stored as an unsigned 24-bit integer number. the maximum delay is 16777215 minutes, equivalent to 11650 days or roughly 31 years. if the start delay is non-zero and the suta bit is set to 1, first the delay has to expire before the device starts testing for temperature alarms to begin logging data. mission start delay counter addr b7 b6 b5 b4 b3 b2 b1 b0 0216h delay low byte 0217h delay center byte 0218h delay high byte during a mission, there is only read access to these registers. for a typical mission, the mission start delay is 0. if a miss ion is too long for a single ds1923 to store all readings at the selected sample rate, one can use several devices and set the mission start delay for the second device to start recording as soon as the memory of the first devi ce is full, and so on. the ro bit in the mission control register (address 0213h) must be set to 0 to prevent overwrit ing of collected data once the data log memory is full.
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 22 of 53 mission time stamp the mission time stamp indicates the date and time of the first temperature and/or humidity sample of the mission. there is only read access to the mission time stamp register. mission time stamp registers bitmap addr b7 b6 b5 b4 b3 b2 b1 b0 0219h 0 10 seconds single seconds 021ah 0 10 minutes single minutes 021bh 0 12/24 20h. am/pm 10h. single hours 021ch 0 0 10 date single date 021dh cent 0 0 10m. single months 021eh 10 years single years mission progress indicator depending on settings in the mission control regist er (address 0213h) the ds1923 logs temperature and/or humidity in 8-bit or 16-bit format. the description of t he etl and ehl bit explains where the device stores data in its data log memory. the mission sample counter together wi th the starting address and the logging format (8 or 16 bits) provides the information to identify valid blocks of data that have been gathered during the current (mip = 1) or latest mission (mip = 0). see section data log me mory usage for an illustration. note that when suta = 1, the mission sample counter does not increment when the first sample is logged. mission sample counter register map addr b7 b6 b5 b4 b3 b2 b1 b0 0220h low byte 0221h center byte 0222h high byte there is only read access to this register. note that wh en both the internal temperature and humidity logging are enabled, the two log readings are counted as one event in the mission sample counter and device sample counter . the number read from the mission sample counter indicates how often the ds1923 woke up during a mission to measure temperature and/or humidity. the number format is 24-bit unsigned integer. the mission sample counter is reset through the clear memory command. other indicators the device sample counter is similar to the mission sa mple counter. during a mission this counter increments whenever the ds1923 wakes up to measure and log data and when the device is testing for a temperature alarm in suta mode. between missions the count er increments whenever the forced conversion command is executed. this way the device sample counter functions lik e a gas gauge for the battery that powers the i button. device sample counter register map addr b7 b6 b5 b4 b3 b2 b1 b0 0223h low byte 0224h center byte 0225h high byte there is only read access to this register. the device sample counter is reset to zero when the i button is assembled. the counter increments a couple of times during final test. the number format is 24-bit unsigned integer. the maximum number that can be represented in this format is 16777215. the device configuration byte is used to allow the master to distinguish between the ds2422 chip, and the ds1923, ds1922l, and ds1922t i buttons. the table below shows the code s assigned to the various devices.
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 23 of 53 device configuration byte addr b7 b6 b5 b4 b3 b2 b1 b0 0226h 0 0 0 0 0 0 0 0 ds2422 0226h 0 0 1 0 0 0 0 0 ds1923 0226h 0 1 0 0 0 0 0 0 ds1922l 0226h 0 1 1 0 0 0 0 0 ds1922t there is only read access to this register. security by password the ds1923 is designed to use two passwords that control read access and full access. reading from or writing to the scratchpad as well as the forced conversion comm and does not require a password. the password needs to be transmitted right after the command code of the memory or control function. if password checking is enabled the password transmitted is compared to the passwords stored in the device. the data pattern stored in the password control register determines whether password checking is enabled. password control register addr b7 b6 b5 b4 b3 b2 b1 b0 0227h epw during a mission, there is only read access to this register. to enable password checking, the epw bits need to form a binary pattern of 10101010 (aah). the default pattern of epw is different from aah. if the epw pattern is different from aah, any pattern will be accepted, as long as it has a length of exactly 64 bits. once enabled, changi ng the passwords and disabling password checking requires the knowledge of the current full-access password. before enabling password checking, passwords for read-only access as well as for full access (read/write/control) need to be written to the password registers. setting up a password or enabling/disabling the password checking is done in the same way as writing data to a memory location , only the address is different. since they are located in the same memory page, both passwords can be redefined at the same time. read access password register addr b7 b6 b5 b4 b3 b2 b1 b0 0228h rp7 rp6 rp5 rp 4 rp3 rp2 rp1 rp0 0229h rp15 rp14 rp13 rp 12 rp11 rp10 rp9 rp8 ? ? ? 022eh rp55 rp54 rp53 rp 52 rp51 rp50 rp49 rp48 022fh rp63 rp62 rp61 rp 60 rp59 rp58 rp57 rp56 there is only write access to this r egister. attempting to read the password will report all zeros. the password cannot be changed while a mission is in progress. the read access password needs to be transmitted ex actly in the sequence rp0, rp1? rp62, rp63. this password only applies to the function ?read memory with crc?. the ds1923 delivers the requested data only if the password transmitted by the master was co rrect or if password checking is not enabled. full-access password register addr b7 b6 b5 b4 b3 b2 b1 b0 0230h fp7 fp6 fp5 fp4 fp3 fp2 fp1 fp0 0231h fp15 fp14 fp13 fp12 fp11 fp10 fp9 fp8 ? ? ? 0236h fp55 fp54 fp53 fp52 fp51 fp50 fp49 fp48 0237h fp63 fp62 fp61 fp60 fp59 fp58 fp57 fp56 there is only write access to this r egister. attempting to read the password will report all zeros. the password cannot be changed while a mission is in progress.
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 24 of 53 the full access password needs to be transmitted exactl y in the sequence fp0, fp1? fp62, fp63. it affects the functions ?read memory with crc?, ?c opy scratchpad?, ?clear memory?, ?sta rt mission?, and ?stop mission?. the ds1923 executes the command only if the password tran smitted by the master was correct or if password checking is not enabled due to the special behavior of the wr ite access logic, the pass word control register and both passwords must be written at the same time. when setting up new passwords, always verify (read back) the scratchpad before sending the copy scratchpad command. after a new password is su ccessfully copied from the scratchpad to its memory location, erase the scratchpad by filling it with new dat a (write scratchpad command). otherwise a copy of the passwords will remain in the scratchpad for public read access. data log memory usage once setup for a mission, the ds1923 logs the tem perature measurements and/or humidity at equidistant time points entry after entry in its data log memory. the data log memory is able to store 8192 entries in 8-bit format or 4096 entries in 16-bit format (figure 7a). if temperature as well as humidity is logged, both in the same format, the memory is split into two equal sections that can store 4096 8-bit entries or 2048 16-bit entries (figure 7b). if the device is set up to log data in different formats, e. g., temp erature in 8-bit and humidity in 16-bit format, the memory is split into blocks of different size, accommodating 2560 entries for either data source (figure 7c). in this case, the upper 256 bytes are not used. in 16-bit format, the higher 8 bits of an entry are st ored at the lower address. knowing the starting time point (mission time stamp) and the interval between temperature measurements one can reconstruct the time and date of each measurement. there are two alternatives to the way the ds1923 behaves after the data log me mory is filled with data. the user can program the device to eit her stop any further recording (disable ?rollov er?) or overwrite the previously recorded data (enable ?rollover?), one entry at a time, starting again at the beginning of the respective memory section. the contents of the mission sample counter in conjunction with the sample rate and the mission time stamp then allows reconstructing the time points of all values stored in the data log memory. this gives the exact history over time for the most recent measurements taken. earlier measurements cannot be reconstructed. figure 7a. one channel logging 8192 8-bit entries temperature or humidity data 4096 16-bit entries temperature or humidity data 1000h 2fffh 1000h 2fffh etl = 1; ehl = 0 or etl = 0; ehl = 1 tlfs = hlfs = 0 etl = 1; ehl = 0 or etl = 0; ehl = 1 tlfs = hlfs = 1 with 16-bit format, the most-significant byte is stored at the lower address.
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 25 of 53 figure 7b. two channel logging, equal resolution temperature 4096 8-bit entries humidity data 4096 8-bit entries temperature 2048 16-bit entries humidity data 2048 16-bit entries 1fffh 2000h 1000h 2fffh 1fffh 2000h 1000h 2fffh etl = ehl = 1 tlfs = hlfs = 0 etl = ehl = 1 tlfs = hlfs = 1 with 16-bit format, the most-significant byte is stored at the lower address. figure 7c. two channel logging , different resolution 2e00h 2fffh temperature 2560 8-bit entries humidity data 2560 16-bit entries (not used) humidity data 2560 8-bit entries (not used) temperature 2560 16-bit entries 19ffh 1a00h 1000h 2dffh 2e00h 2fffh 2dffh 2400h 1000h 23ffh etl = ehl = 1 tlfs = 0; hlfs = 1 etl = ehl = 1 tlfs = 1; hlfs = 0 with 16-bit format, the most-significant byte is stored at the lower address. missioning the typical task of the ds1923 i button is recording temperature and/or hum idity. before the device can perform this function, it needs to be set up properly. this procedure is called missioning. first of all, ds1923 needs to have its real-time clock set to valid time and date. this reference time may be the local time, or, when used inside of a mobile unit, utc (also called gmt, greenwich mean time) or any other time standard that was agreed upon. the real-time clock oscilla tor must be running (eosc = 1). the memory assigned to store the mission time stamp, mission sample counte r, and alarm flags must be cleared using the memory clear command. to enable the device for a mission, at l east one of the enable logging bits (etl, ehl) must be set to 1. these are general settings that have to be made in any case, regardless of the type of object to be monitored and the duration of the mission. if alarm signaling is desired, the temperature alarm and/ or humidity alarm low and high thresholds must be defined. how to convert a temperature value into the binary code to be written to the threshold registers is described under ?temperature conversion? earlier in this document. determin ing the thresholds for the humidity alarm is described in section ?humidity conversion?. in add ition, the temperature and/or humidity alarm must be enabled for the low-
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 26 of 53 and/or high-threshold. this will make the device respond to a conditional search command (see rom function commands ), provided that an alarming condition has been encountered. the setting of the ro bit (rollover enable) and sample rate depends on the duration of the mission and the monitoring requirements. if the most recently logged data is important, the rollover should be enabled (ro = 1). otherwise one should estimate the duration of the mi ssion in minutes and divide the number by 8192 (single channel 8-bit format) or 4096 (single channel 16-bit forma t, two channels 8-bit format) or 2048 (two channels 16-bit format) or 2560 (two channels, one 8-bit and one 16-bit format) to calculate the value of the sample rate (number of minutes between conversions ). if the estimated duration of a mission is 10 days (= 14400 minutes), for example, then the 8192-byte capacity of the data log memory would be sufficient to stor e a new 8-bit value every 1.8 minutes (110 seconds). if the data log memory of the ds1923 is no t large enough to store all readings, one can use several devices and set the mission start delay to values that make the second device start logging as soon as the memory of the first device is full, and so on. the ro-b it needs to be set to 0 to disable rollover that would otherwise overwrite the logged data. after the ro bit and the mission start delay are set, the sample rate needs to be written to the sample rate register. the sample rate may be any value from 1 to 16383, coded as an unsigned 14-bit binary number. a sample rate of all zeros is not valid and must be avoided under all circumstances. this causes the device to enter into an unrecoverable state. the fastest sample ra te is one sample per second (ehss = 1, sample rate = 0001h) and the slowest is one sample every 273.05 hours (ehss = 0, sample rate = 3fffh). to get one sample every 6 minutes, for example, the sample rate value needs to be set to 6 (ehss = 0) or 360 decimal (equivalent to 0168h at ehss = 1). if there is a risk of unauthorized acce ss to the ds1923 or manipulation of data, one should define passwords for read access and full access. before the passwords bec ome effective, their use needs to be enabled. see security by password for more details. the last step to begin a mission is to issue the start mi ssion command. as soon as it has received this command, the ds1923 sets the mip flag and clear the memclr flag. with the immediate/delayed start mode (suta = 0), after as many minutes as specified by the mission start delay are over, the device wakes up, copies the current date and time to the mission time stamp register, and logs the first entry of the mission. this increments both the mission sample counter and device sample counter. all subsequent log entries are made as specified by the value in the sample rate register and the ehss bit. if the start upon temperature alarm mode is chosen (suta = 1) and temperature logging is enabled (etl = 1) the ds1923 first waist until the start delay is over. then the de vice wakes up in intervals as specified by the sample rate and ehss bit and measure the temperature. this increments the device sample counter only. the first sample of the mission is logged when the temperature alar m occurred. however, the mission sample counter will not increment. one sample period later the mission time stamp is set. from then on, both the mission sample counter and device sample counter increment at the same time. all subsequent log entries will be made as specified by the value in the sample rate register and the ehss bit. the general-purpose memory operates independently of t he other memory sections an d is not write-protected during a mission. all memory of the ds 1923 can be read at any time, e. g., to watch the progress of a mission. attempts to read the passwords will read 00h bytes instead of the data that is stored in the password registers. address registers a nd transfer status because of the serial data transfer, the ds1923 employs th ree address register s, called ta1, ta2, and e/s (figure 8). registers ta1 and ta2 must be loaded with the target address to which the data will be written or from which data will be sent to the master upon a read command. regi ster e/s acts like a byte counter and transfer status register. it is used to verify data integrity with write co mmands. therefore, the master only has read access to this register. the lower 5 bits of the e/s register indicate the address of the last byte that has been written to the scratchpad. this address is called ending offset. the ds1923 requires that the ending offset is always 1fh for a copy scratchpad to function. bit 5 of the e/s register, called pf or ?partial byte flag,? is set if the number of data bits sent by the master is not an in teger multiple of 8. bit 6 is always a 0. note that the lowest 5 bits of the target address also determine the address within the scra tchpad, where intermediate storage of data begins. this address is called byte offset. if the target address for a write command is 13ch, for example, then the scratchpad stores incoming data beginning at the byte offset 1ch and is full after only 4 bytes. the corresponding ending offset
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 27 of 53 in this example is 1fh. for best economy of speed and effi ciency, the target address fo r writing should point to the beginning of a page, i.e., the byte offset is 0. thus the fu ll 32-byte capacity of the scratchpad is available, resulting also in the ending offset of 1fh. the ending offset together with the partial and overflow flag is mainly a means to support the master checking the data integrity after a wri te command. the highest valued bit of the e/s register, called aa or authorization accepted, indicates that a valid copy command for the scratchpad has been received and executed. writing data to t he scratchpad clears this flag. figure 8. addre ss registers writing with verification to write data to the ds1923, the scratchpad has to be used as intermediate storage. first the master issues the write scratchpad command to specify the desired target address, followed by the data to be written to the scratchpad. in the next step, the ma ster sends the read scratchpad command to read the scratchpad and to verify data integrity. as preamble to the scratchpad data, th e ds1923 sends the request ed target address ta1 and ta2 and the contents of the e/s register. if the pf flag is se t, data did not arrive correctly in the scratchpad. the master does not need to continue readi ng; it can start a new trial to write data to the scratchpad. similarly, a set aa flag indicates that the write command wa s not recognized by the device. if ever ything went correctly, both flags are cleared and the ending offset indicates the address of the last byte written to the scratchpad. now the master can continue verifying every data bit. after the master has verified the data, it has to send the copy scratchpad command. this command must be followed exactly by the data of the three address re gisters ta1, ta2, and e/s as the master has read them verifying the scratchpad. as soon as the ds1923 has received these bytes, it copies the data to the requested location beginning at the target address. memory- and control- function commands the ?memory/control function flow chart? (figure 9) de scribes the protocols necessary for accessing the memory and the special function registers of the ds1923. an exampl e on how to use these and other functions to set up the ds1923 for a mission is included at the end of this document, preceding the electrical characteristics section. the communication between master and ds1923 takes place either at regular speed (default, od = 0) or at overdrive speed (od = 1). if not explicitly set into the overdriv e mode the ds1923 assumes regular speed. internal memory access during a mission has priority over external access through the 1-wire interface. this affects several of the commands described below. see memory access conflicts for details and remedies. write scratchpad command [0fh] after issuing the write scratchpad command, the master must first provide the 2-byte target address, followed by the data to be written to the scratchpad. the data will be written to the scratchpad st arting at the byte offset (t4:t0). the master has to send as many bytes as are needed to reach the ending offset of 1fh. if a data byte is incomplete, its content is ignored and the partial byte flag pf is set. when executing the write scratchpad command the crc g enerator inside the ds1923 (see figure 15) calculates a crc of the entire data stream, starti ng at the command code and ending at the last data byte sent by the master. bit # 7 6 5 4 3 2 1 0 target address (ta1) t7 t6 t5 t4 t3 t2 t1 t0 target address (ta2) t15 t14 t13 t12 t11 t10 t9 t8 ending address with data status (e/s) (read only) aa 0 pf e4 e3 e2 e1 e0
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 28 of 53 this crc is generated using the crc16 polynomial by fi rst clearing the crc generator and then shifting in the command code (0fh) of the write scratchpad command, t he target addresses ta1 and ta2 as supplied by the master and all the data bytes. if the ending offset is 111 11b, the master may send 16 read time slots and will receive the inverted crc16 generated by the ds1923. note that both register pages are write-protected during a mission. although the write scratchpad command will work normally at any time, the subsequent copy scr atchpad to a register page will fail during a mission. read scratchpad command [aah] this command is used to verify scratchpad data and tar get address. after issuing the read scratchpad command, the master begins reading. the first 2 bytes will be the targ et address. the next byte w ill be the ending offset/data status byte (e/s) followed by the scratchpad data beginning at the byte offset (t4:t0), as shown in figure 8. the master may continue reading data until t he end of the scratchpad after which it will receive an inverted crc16 of the command code, target addresses ta1 and ta2, the e/ s byte, and the scratchpad dat a starting at the target address. after the crc is read, the bus master will read logical 1s fr om the ds1923 until a reset pulse is issued. copy scratchpad with password [99h] this command is used to copy data from the scratchpad to the writable memory sectio ns. after issuing the copy scratchpad command, the master must provide a 3-byte authorization pattern, which can be obtained by reading the scratchpad for verification. this pattern must exac tly match the data contained in the three address registers (ta1, ta2, e/s, in that order). next the master must transmit the 64-bit full-access password. if passwords are enabled and the transmitted password is different from t he stored full-access password, the copy scratchpad with password command will fail. then the device stops commu nicating and waits for a reset pulse. if the password was correct or if passwords were not enabled, the devic e tests the 3-byte authorization code. if the authorization code pattern matches, the aa (authorization accepted) flag is set and the copy begins. a pattern of alternating 1s and 0s are transmitted after the data has been copied until the master issues a reset pulse. while the copy is in progress any attempt to reset the part is ignored. copy typically takes 2s per byte. the data to be copied is determined by the three address registers. the scratchpad dat a from the beginning offset through the ending offset will be copi ed, starting at the target address. th e aa flag remains at logic 1 until it is cleared by the next write scratchpad command. with suitab le password, the copy scratchpad always functions for the 16 pages of data memory and the 2 pages of calibration me mory. while a mission is in progress, write attempts to the register pages will not be successful. the aa bit (aut horization accepted) remaining at 0 will indicate this. read memory with password and crc [69h] the read memory with crc command is the general func tion to read from the device. this command generates and transmits a 16-bit crc following the last data byte of a memory page. after having sent the command code of the read memory with crc command, the bus master sends a 2-byte address that indicates a starting byte location. next the master must transmit one of the 64-bit passwords. if passwords are enabled and the transmitted password does not match one of the stored passwords, the read memory with password and cr c command fails. the device will stop communicating and will wait for a reset pulse. if the password was correct or if passwords were not enabled, the master reads data from the ds1923 beginning from the starting address and continuing until the end of a 32-byte page is reac hed. at that point the bus master sends 16 additional read data time slots and receiv e the inverted 16-bit crc. with subsequent read-data time slots the master will receive data starting at t he beginning of the next memory page followed again by the crc for that page. this sequence continues until the bus master resets the device. when trying to read the passwords or memory areas that are marked as "reserv ed", the ds1923 transmits 00h or ffh bytes, respectively. the crc at the end of a 32-byte memory page is based on the data as it was transmitted. with the initial pass through the read memory with crc flow, the 16-bit crc value is the result of shifting the command byte into the cleared crc generator followed by the 2 address bytes and the contents of the data memory. subsequent passes through the read memory with crc flow will generate a 16-bit crc that is the result of clearing the crc generator and then shifting in the c ontents of the data memory page. after the 16-bit crc of the last page is read, the bus master receives logical 1s from the ds1923 until a reset pulse is issued. the read memory with crc command sequence can be ended at any point by issuing a reset pulse.
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 29 of 53 figure 9-1. memory/control function flow chart master tx memory or control fkt. command 0fh write scratch p ad master tx ta1 ( t7:t0 ) master tx ta2 ( t15:t8 ) ds1923 sets scratch- pad offset = (t4:t0) and clears ( pf, aa ) master tx data byte to scratch p ad offset ds1923 sets (e4:e0) = scratch p ad offset master tx reset? scratch- pad offset = 11111b? master rx crc16 of command, address data ds1923 incre- ments scratch- p ad offset master rx "1"s master tx reset? master tx reset? partial byte written? pf = 1 aah read scratch p ad master rx ta1 ( t7:t0 ) master rx ta2 ( t15:t8 ) master rx ending offset with data status ( e/s ) master tx reset? scratch- pad offset = 11111b? master rx crc16 of command, address data, e/s byte, and data starting at the target address ds1923 incre- ments scratch- p ad offset master rx "1"s master tx reset? ds1923 sets scratch- p ad offset = ( t4:t0 ) master rx data byte from scratch p ad offset from rom functions flow chart ( fi g ure 11 ) to rom functions flow chart ( fi g ure 11 ) n y n y n y n y n y n y n y n y n y n y
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 30 of 53 figure 9-2. memory/control function flow chart 99h copy scrpd. [ w/pw ] master tx e/s b y te authorization code match? ds1923 copies scratchpad data to memor y copying finished master tx reset? aa = 1 master tx ta1 ( t7:t0 ) , ta2 ( t15:t8 ) master tx 64-bits [ password ] password accepted? master rx "1"s ds1923 tx "0" ds1923 tx "1" master tx reset? n y n y n y n y master tx reset? master rx "1"s n y n y n y a uthorization code
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 31 of 53 figure 9-3. memory/control function flow chart 69h read mem. [w/pw]&crc master tx 64-bits [ password ] master tx reset? crc ok? master rx "1"s ds1923 sets memory address = ( t15:t0 ) master rx data byte from memor y address master tx ta1 ( t7:t0 ) , ta2 ( t15:t8 ) password accepted? ds1923 incre- ments address counter end of page? master rx crc16 of command, address, data (1 st pass); crc16 of data ( subse q uent passes ) end of memory? master tx reset? master tx reset n y n y n y n y n y n y n y decision made b y ds1923 decision made b y master
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 32 of 53 figure 9-4. memory/control function flow chart 96h clear mem. [w/pw] 55h forced conversion? master tx 64-bits [password] n y n y mission in progress? ds1923 clears mission time stamp, mission samples counter, alarm flags ds1923 sets memclr = 1 password accepted? master tx reset? n y n y n y mission in progress? ds1923 performs a temp. conversion ds1923 copies result to address 020c/dh ds1923 performs a humidity conversion ds1923 copies result to address 020e/fh n y master tx reset? n y master tx ffh dummy byte master tx ffh dummy byte
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 33 of 53 figure 9-5. memory/control function flow chart cch start mission [w/pw] master tx 64-bits [password] master tx reset? ds1923 initiates mission start delay process n y mission in progress? ds1923 sets mip = 1 memclr = 0 password accepted? memclr = 1? n y n y n y n y master tx ffh dummy byte 33h stop mission [w/pw] master tx 64-bits [password] n y mission in progress? ds1923 sets mip = 0 wfta = 0 password accepted? master tx reset? n y n y n y master tx ffh dummy byte n ds1923 waits for 1 minute mission start dela y process ds1923 sets wfta=1 start delay counter = 0? y ds1923 decrements start delay counter ds1923 sets wfta=0 and logs first sample n y temp. alarm? ds1923 performs 8-bit temp. conversion n mip = 0? y ds1923 waits one sample period suta = 1? y n ds1923 copies rtc data to mission time stamp register ds1923 starts logging taking 1 st sample end of process ds1923 waits one sample period if suta = 1, this is the 2 nd sample. the mission sample counter will not increment.
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 34 of 53 clear memory with password [96h] the clear memory with password command is used to prepare the device for another mission. this command is only executed if no mission is in pr ogress. after the command code the master must transmit the 64-bit full-access password followed by a ffh dummy byte. if passwords are enabled and the transmitted password is different from the stored full-access password or a mission is in progres s, the clear memory with password command will fail. the device will stop communicating and w ill wait for a reset pulse. if the pas sword was correct or if passwords were not enabled, the device will clear the mission time st amp, mission sample counter, and all alarm flags of the alarm status register. after these cells are cleared, the memclr bit of the general status register reads 1 to indicate the successful execution of the clear memory with password command. clearing of the data log memory is not necessary because the mission sample counter i ndicates how many entries in the data log memory are valid. forced conversion [55h] the forced conversion command can be used to measur e the temperature and humidity without starting a mission. after the command code the master has to s end one ffh byte to get t he conversion started. the conversion result is found as 16-bit value in the latest temperature conversion result and latest humidity conversion result registers. this comm and is only executed if no mission is in progress (mip = 0). it cannot be interrupted and takes maximum 666ms to complete. during th is time memory access through the 1-wire interface is blocked. the device behaves the same way as du ring a mission when the sampling interferes with a memory/control function command. see memory access conflicts for details. a forced conversion must not be attempted while the rtc oscillator is stopped. this causes the device to enter into an unrecoverable state. start mission with password [cch] the ds1923 uses a control function command to start a missio n. a new mission can only be started if the previous mission has been ended and the memory has been cleared. after the command code, the master must transmit the 64-bit full-access password followed by a ffh dummy byte. if passwords are enabled and the transmitted password is different from the stored full-access passwo rd or a mission is in progress, the start mission with password command will fail. the device stops communicating and waits for a reset pulse. if the password was correct or if passwords were not enabled, the device starts a mission. if suta = 0, the sampling begins as soon as the mission start delay is over. if suta = 1, the first sa mple is written to the data log memory at the time the temperature alarm occurred. however, the mission sample counter does not increment. one sample period later, the mission time stamp will be set and the regular samp ling and logging begins. while the device is waiting for a temperature alarm to occur, the wfta fl ag in the general status register will re ad 1. during a mission there is only read access to the register pages. stop mission with password [33h] the ds1923 uses a control function command to stop a mi ssion. only a mission that is in progress can be stopped. after the command code, the master must trans mit the 64-bit full-access password followed by a ffh dummy byte. if passwords are enabled and the transmitted password is different from the stored full-access password or a mission is not in progress, the stop mi ssion with password command will fail. the device stops communicating and waits for a reset pulse. if the password was correct or if passwords were not enabled, the device clears the mip bit in the general status register and restore write access to the register pages. the wfta bit is not cleared. see the descri ption of the general status register for a method to clear the wfta bit. memory access conflicts while a mission is in progress or while the device is waiti ng for a temperature alarm to start a mission, periodically a temperature and/or humidity sample is taken and logged. this "internal activity" has priority over 1-wire communication. as a consequence, device-specific commands (excluding rom function commands and 1-wire reset) will not perform properly when internal and "external" ac tivities interfere with each other. not affected are the commands start mission, forced conversion, and clear me mory because they are not applicable while a mission is in progress or while the device is waiting for a temper ature alarm. the table below explains how the remaining five commands are affected by internal activity, how to detect this interference and how to work around it.
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 35 of 53 command indication of interference remedy write scratchpad the crc16 at the end of the command flow reads ffffh. wait 0.5 seconds, 1-wire reset, address the device, repeat write scratchpad with the same data, and check the validity of the crc16 at the end of the command flow. alternatively, use read scratchpad to verify data integrity. read scratchpad the data read changes to ffh bytes or all bytes received are ffh, including the crc at the end of the command flow. wait 0.5 seconds, 1-wire reset, address the device, repeat read scratchpad, and check the validity of the crc16 at the end of the command flow. copy scratchpad the device behaves as if authorization code or password was not valid or as if the copy function would not end. wait 0.5 seconds, 1-wire reset, address the device, issue read scratchpad and check the aa-bit of the e/s byte. if the aa-bit is set, copy scratchpad was successful. read memory with crc the data read changes to all ffh bytes or all bytes received are ffh, including the crc at the end of the command flow, despite a valid password. wait 0.5 seconds, 1-wire reset, address the device, repeat read memory with crc, and check the validity of the crc16 at the end of the memory page. stop mission the general status register at address 215h reads ffh or the mip bit is 1 while bits 0, 2, and 5 are 0. wait 0.5 seconds, 1-wire reset, address the device, and repeat stop mission. perform a 1-wire reset, address the device, read the general status register at address 215h and check the mip-bit. if the mip-bit is 0, stop mission was successful. the interference is more likely to be seen with a high sa mple rate (1 sample every second) and with high-resolution logging, which can last up to 666ms when both temperatur e and humidity are recorded. with lower sample rates interference may hardly be visible at all. in any case, when writing driver software, it is important to know about the possibility of interference and to take measures to work around it. 1-wire bus system the 1-wire bus is a system, which has a single bus master and one or more slaves. in all instances the ds1923 is a slave device. the bus master is typically a microcontroller. the discussion of this bus system is broken down into three topics: hardware configuration, transaction sequence , and 1-wire signaling (signal types and timing). the 1-wire protocol defines bus transactions in terms of the bus state during specif ic time slots that are initiated on the falling edge of sync pulses from the bus master. for a more detailed protocol description, refer to chapter 4 of the book of ds19xx i button standards . hardware configuration the 1-wire bus has only a single line by definition; it is impo rtant that each device on the bus be able to drive it at the appropriate time. to facilitate this, each device attach ed to the 1-wire bus must have open drain or tri-state outputs. the 1-wire port of the ds1923 is open-drain with an in ternal circuit equivalent to that shown in figure 10. a multidrop bus consists of a 1-wire bus with multiple slaves attached. at standard speed the 1-wire bus has a maximum data rate of 16.3kbps. the speed can be boost ed to 142kbps by activating the overdrive mode. the ds1923 is not guaranteed to be fully compliant to the i button standard. its maximum data rate in standard speed mode is 15.4kbps and 125kbps in overdrive. the value of the pullup resistor primarily depends on the network size and load conditions. the ds1923 requires a pullup resistor of maximum 2.2k at any speed. the idle state for the 1-wire bus is high. if for any re ason a transaction needs to be suspended, the bus must be left in the idle state if the transaction is to resume. if this does not occur and the bus is left low for more than 16s (overdrive speed) or more than 120s (standard speed), one or more devices on the bus may be reset. note that the ds19233 does not quite meet the full 16s maximum low time of the normal 1-wire bus overdrive timing. with the ds1923 the bus must be left low for no longer than 12 s at overdrive to ensure t hat no ds1923 on the 1-wire bus performs a reset. the ds1923 communicates properly when used in conjunction with a ds2480b or ds2490 1-wire driver and adapters that ar e based on these driver chips.
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 36 of 53 figure 10. hardware configuration open drain port pin rx = receive tx = transmit 100 mosfet v pup rx tx tx rx data 5 a typ. bus master ds1923 1-wire port r pup transaction sequence the protocol for accessing the ds1923 th rough the 1-wire port is as follows: ? initialization ? rom function command ? memory/control function command ? transaction/data initialization all transactions on the 1-wire bus begin with an initializ ation sequence. the initialization sequence consists of a reset pulse transmitted by the bus master followed by presen ce pulse(s) transmitted by the slave(s). the presence pulse lets the bus master know that the ds1923 is on t he bus and is ready to operate. for more details, see the 1-wire signaling section. 1-wire rom function commands once the bus master has detected a presence, it can issue one of the eight rom function commands that the ds1923 supports. all rom function commands are 8 bits long. a list of these commands follows (refer to flowchart in figure 11). read rom [33h] this command allows the bus master to read the ds1923?s 8-bit family code, unique 48-bit serial number, and 8-bit crc. this command can only be used if there is a single slave on the bus. if more than one slave is present on the bus, a data collision occurs when all slaves try to transmi t at the same time (open-drain produces a wired-and result). the resultant family code and 48-bit se rial number results in a mismatch of the crc. match rom [55h] the match rom command, followed by a 64-bit rom sequence, allows the bus master to address a specific ds1923 on a multidrop bus. only the ds1923 that exactl y matches the 64-bit rom sequence responds to the following memory function command. a ll other slaves will wait for a reset pulse. this command can be used with a single or multiple devices on the bus. search rom [f0h] when a system is initially brought up, the bus master mi ght not know the number of de vices on the 1-wire bus or their registration numbers. by taking advantage of the wired-and property of the bus, the master can use a process of elimination to identify the registration number s of all slave devices. for ea ch bit of the registration number, starting with the least significant bit, the bus master issues a triplet of time slots. on the first slot, each slave device participating in the sear ch outputs the true value of its regist ration number bit. on the second slot, each slave device participating in the search outputs the complemented value of its registration number bit. on the third slot, the master writes the true value of the bit to be selected. all slave devices that do not match the bit written by the master stop participating in the search. if both of the read bits are zero, the master knows that slave
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 37 of 53 devices exist with both states of the bit. by choosing whic h state to write, the bus ma ster branches in the romcode tree. after one complete pass, the bus master knows the re gistration number of a single device. additional passes identify the registration numbers of the rema ining devices. refer to app note 187: 1-wire search algorithm for a detailed discussion, including an example. conditional search [ech] the conditional search rom command operates similarly to the search rom command except that only those devices, which fulfill certain conditions, participate in the search. this functi on provides an efficient means for the bus master to identify devices on a mult idrop system that have to signal an im portant event. after each pass of the conditional search that succ essfully determined the 64-bit rom code for a specific device on the multidrop bus, that particular device can be individually accessed as if a match rom had been issued, since all other devices have dropped out of the search proces s and will be waiting for a reset pulse. the ds1923 responds to the conditional se arch if one of the five alarm flags of the alarm status register (address 0214h) reads 1. the humidity and temperature alarm only occurs if enabled (see temperature sensor alarm and humidity alarm ). the bor alarm is always enabled. the first al arm that occurs makes the device respond to the conditional search command. skip rom [cch] this command can save time in a single-drop bus system by allowing the bus master to access the memory functions without providing the 64-bit rom code. if more than one slave is present on the bus and, for example, a read command is issued following the skip rom command, data collision occurs on the bus as multiple slaves transmit simultaneously (open-drain pulldow ns produce a wired-and result). resume command [a5h] the ds1923 needs to be accessed several times before a mi ssion starts. in a multidrop environment this means that the 64-bit rom code after a match rom command has to be repeated for every access. to maximize the data throughput in a multidrop environment, the resume function was implemented. this function checks the status of the rc bit and, if it is set, directly transfers contro l to the memory/control functions, similar to a skip rom command. the only way to set the rc bit is through su ccessfully executing the ma tch rom, search rom or overdrive match rom command. once the rc bit is se t, the device can repeatedly be accessed through the resume command function. accessing another device on t he bus will clear the rc bit, preventing two or more devices from simultaneously responding to the resume command function. overdrive skip rom [3ch] on a single-drop bus this command can save time by allo wing the bus master to access the memory/control func- tions without providing the 64-bit rom code. unlike the normal skip rom command, the overdrive skip rom sets the ds1923 in the overdrive mode (od = 1). all communication following this command has to occur at overdrive speed until a reset pulse of minimum 690s duration resets all devices on the bus to standard speed (od = 0). when issued on a multidrop bus this command will set all overdrive-supporting devices into overdrive mode. to subsequently address a specific overdr ive-supporting device, a reset pulse at overdrive speed has to be issued followed by a match rom or search rom command sequence . this speeds up the time for the search process. if more than one slave supporting overdrive is present on the bus and the overdrive skip rom command is followed by a read command, data collision occurs on the bus as multiple slaves transmit simultaneously (open-drain pulldowns will produce a wired-and result). overdrive match rom [69h] the overdrive match rom command followed by a 64-bit ro m sequence transmitted at overdrive speed allows the bus master to address a specific ds1923 on a multidro p bus and to simultaneously set it in overdrive mode. only the ds1923 that exactly matche s the 64-bit rom sequence will resp ond to the subsequent memory/control function command. slaves already in ov erdrive mode from a previous overdr ive skip or successful overdrive match command remains in overdrive mode. all overdrive- capable slaves return to standard speed at the next reset pulse of minimum 690s duration. the overdriv e match rom command can be used with a single or multiple devices on the bus.
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 38 of 53 figure 11-1. rom functions flow chart from figure 11 2 nd part to memory functions flow chart ( fi g ure 9 ) master tx bit 0 master tx bit 63 master tx bit 1 rc = 1 ds1923 tx crc b y te ds1923 tx serial number (6 bytes) ds1923 tx family code (1 byte) bit 0 match? y n bit 1 match? y n bit 63 match? y n ds1923 tx bit 0 ds1923 tx bit 0 master tx bit 0 ds1923 tx bit 1 ds1923 tx bit 1 master tx bit 1 ds1923 tx bit 63 ds1923 tx bit 63 master tx bit 63 rc = 1 bit 0 match? y n bit 1 match? y n bit 63 match? y n to figure 11 2 nd part r c = 0 r c = 0 r c = 0 r c = 0 y y y y n f0h search rom command? n 55h match rom command? n ech cond. search command? n 33h read rom command? to figure 11 2 nd part from memory functions flow chart ( fi g ure 9 ) bus master tx rom function command ds1923 tx presence pulse od reset pulse? n y od = 0 bus master tx reset pulse from fi g ure 11, 2 nd part condition met? y n ds1923 tx bit 0 ds1923 tx bit 0 master tx bit 0 ds1923 tx bit 1 ds1923 tx bit 1 master tx bit 1 ds1923 tx bit 63 ds1923 tx bit 63 master tx bit 63 rc = 1 bit 0 match? y n bit 1 match? y n bit 63 match? y n
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 39 of 53 figure 11-2. rom functions flow chart from figure 11 1 st part from figure 11 1 st part to figure 11, 1 s t part rc = 1 ? n y rc = 0 ; od = 1 master tx bit 0 master tx bit 63 master tx bit 1 rc = 1 bit 0 match? y n bit 1 match? y n bit 63 match? y n y n 69h overdrive match rom? rc = 0 ; od = 1 master tx reset ? y n master tx reset ? n y y n 3ch overdrive skip rom? y n a5h resume command? rc = 0 y n cch skip rom command? to figure 11 1 st part
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 40 of 53 1-wire signaling the ds1923 requires strict protocols to ensure data integrity. the protocol cons ists of four types of signaling on one line: reset sequence with reset pulse and presence puls e, write-zero, write-one and read-data. except for the presence pulse the bus master initiates all thes e signals. the ds1923 can communicate at two different speeds, standard speed and overdrive speed. if not ex plicitly set into the overdrive mode, the ds1923 communicates at standard speed. while in overdriv e mode the fast timing applies to all waveforms. to get from idle to active, the voltage on the 1-wire line needs to fall from v pup below the threshold v tl . to get from active to idle, the voltage needs to rise from v ilmax past the threshold v th . the time it takes for the voltage to make this rise is seen in figure 12 as ' ' and its duration depends on the pullup resistor (r pup ) used and the capacitance of the 1-wire network attached. the voltage v ilmax is relevant for the ds1923 when determining a logical level, not triggering any events. the initialization sequence required to begin any communica tion with the ds1923 is shown in figure 12. a reset pulse followed by a presence pulse indicates the ds1923 is ready to receive data, given the correct rom and memory function command. if the bus master uses slew-rate control on the falling edge, it must pull down the line for t rstl + t f to compensate for the edge. a t rstl duration of 690s or longer will exit the overdrive mode returning the device to standard speed. if the ds1923 is in overdrive mode and t rstl is no longer than 80s the devices remain in overdrive mode. figure 12. initialization procedur e ?reset and presence pulses? resistor master ds1923 t rstl t pdl t rsth t pdh master tx ?reset pulse? master rx ?presence pulse? v pup v ihmaster v th v tl v ilmax 0v after the bus master has released the line it goes into receive mode (rx). now the 1-wire bus is pulled to v pup through the pullup resistor or, in case of a ds2480b driver, by active circuitry. when the threshold v th is crossed, the ds1923 waits for t pdh and then transmits a presence pulse by pulling the line low for t pdl . to detect a presence pulse, the master must test the logi cal state of the 1-wire line at t msp . the t rsth window must be at least the sum of t pdhmax , t pdlmax , and t recmin . immediately after t rsth is expired, the ds1923 is ready for data communication. in a mixed population network t rsth should be extended to minimum 480s at standard speed and 48s at overdrive speed to accommodate other 1-wire devices. read/write time slots data communication with the ds1923 takes place in time slots, which carry a single bit each. write time slots transport data from bus master to slave. read time slots transfer data from slave to ma ster. the definitions of the write and read time slots are illustrated in figure 13. all communication begins with the master pulling the data line low. as the voltage on the 1-wire line falls below the threshold v tl , the ds1923 starts its internal timing generator t hat determines when the data line is sampled during a write time slot and how long data will be valid during a read-time slot.
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 41 of 53 master-to-slave for a write-one time slot, the voltage on the data line must have crossed the v th threshold before the write-one low time t w1lmax is expired. for a write-zero time slot, the voltage on the data line must stay below the v th threshold until the write-zero low time t w0lmin is expired. the voltage on the data line should not exceed v ilmax during the entire t w0l or t w1l window. after the v th threshold has been crossed, the ds1923 needs a recovery time t rec before it is ready for the next time slot. figure 13. read/write timing diagram write-one time slot resistor master v pup v ihmaster v th v tl v ilmax 0v t f t slot t w1l write-zero time slot resistor master t rec v pup v ihmaster v th v tl v ilmax 0v t f t slot t w0l read-data time slot resistor master ds1923 t rec v pup v ihmaster v th v tl v ilmax 0v master sampling window t f t slot t rl t msr
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 42 of 53 slave-to-master a read-data time slot begins like a write-one time slot. the voltage on the data line must remain below v tl until the read-low time t rl is expired. during the t rl window, when responding with a 0, the ds1923 starts pulling the data line low; its internal timing generator determines when th is pulldown ends and the voltage starts rising again. when responding with a 1, the ds1923 does not hold the data line low at all, and the voltage starts rising as soon as t rl is over. the sum of t rl + (rise rime) on one side and the internal timing generator of the ds1923 on the other side define the master sampling window (t msrmin to t msrmax ) in which the master must perform a read from the data line. for most reliable communication, t rl should be as short as permissible and the master should read close to but no later than t msrmax . after reading from the data line, the master must wait until t slot is expired. this guarantees sufficient recovery time t rec for the ds1923 to get ready for the next time slot. improved network behavior in a 1-wire environment line termination is possible onl y during transients controlled by the bus master (1-wire driver). 1-wire networks, ther efore are susceptible to noise of various or igins. depending on the physical size and topology of the network, reflections from end points and br anch points can add up or cancel each other to some extent. such reflections are visible as glitches or ringi ng on the 1-wire communication line. noise coupled onto the 1-wire line from external sour ces can also result in signal glitching. a g litch during the rising edge of a time slot can cause a slave device to lose synchron ization with the master and, as a consequence, result in a search rom command coming to a dead end or cause a device-specific function command to abort. for better performance in network applications, the ds1923 uses a new 1-wire front end, which makes it less sensitive to noise and also reduces the magnitude of noise inje cted by the slave device itself. the 1-wire front end of the ds1923 differs from tradi tional slave devices in four characteristics. 1) the falling edge of the presence pulse has a controll ed slew rate. this provides a better match to the line impedance than a digitally switched transistor, conver ting the high-frequency ringing known from traditional devices into a smoother low-bandwidth transition. t he slew-rate control is spec ified by the parameter t fpd , which has different values for standard and overdrive speed. 2) there is additional low-pass filterin g in the circuit that detects the falling edge at the beginning of a time slot. this reduces the sensitivity to high-frequency noise. this additional filtering does not apply at overdrive speed. 3) there is a hysteresis at the low-to-high switching threshold v th . if a negative glitch crosses v th but does not go below v th - v hy , it will not be recognized (figure 14, case a). the hysteresis is effective at any 1-wire speed. 4) there is a time window specified by the rising edge hold-off time t reh during which glitches are ignored, even if they extend below v th - v hy threshold (figure 14, case b, t gl < t reh ). deep-voltage droops or glitches that appear late after crossing the v th threshold and extend beyond the t reh window cannot be filtered out and are taken as beginning of a new time slot (figure 14, case c, t gl t reh ). only devices that have the parameters t fpd , v hy , and t reh specified in their electrical characteristics use the improved 1-wire front end. figure 14. noise suppression scheme v pup v th v hy 0v t reh t gl t reh t gl case a case c case b
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 43 of 53 crc generation with the ds1923 there are two different types of crcs (cyclic redundancy checks). one crc is an 8-bit type and is stored in the most significant byte of the 64-bit rom. the bus master can compute a crc value from the first 56 bits of the 64-bit rom and compare it to the va lue stored within the ds1923 to determine if the rom data has been received error-free. the equivalent polynomial function of this crc is: x 8 + x 5 + x 4 + 1. this 8-bit crc is received in the true (noninverted) form. it is computed at the factory and lasered into the rom. the other crc is a 16-bit type, generated according to the standardized crc16-polynomial function x 16 + x 15 + x 2 + 1. this crc is used for error detection when readi ng register pages or the data log memory using the read memory with crc command and for fast verification of a data transfer when writing to or reading from the scratchpad. in contrast to the 8-bit crc, the 16-bi t crc is always communicated in the inverted form. a crc generator inside the ds1923 (figure 15) calculates a new 16-bit crc as shown in the command flow chart of figure 9. the bus master compares the crc value read from the device to the one it calculates from the data and decides whether to continue with an operation or to rere ad the portion of the data with the crc error. with the initial pass through the read memory with crc flow chart, the 16-bit crc value is the result of shifting the command byte into the cleared crc generator, followed by the 2 address bytes and t he data bytes. the password is excluded from the crc calculation. subsequent passes through the read me mory with crc flow chart generate a 16-bit crc that is the result of clearing the crc generator and then shifting in the data bytes. with the write scratchpad command the crc is generated by first clearing the crc generator and then shifting in the command code, the target addresses, ta1 and ta2, and all the data bytes. the ds1923 transmits this crc only if the data bytes written to the scratchpad include scratchpad ending offset 11111b. the data can start at any location within the scratchpad. with the read scratchpad command the crc is generated by first clearing the crc generator and then shifting in the command code, the target addresses, ta1 and ta2, the e/s byte, and the scratchpad data starting at the target address. the ds1923 transmits this crc only if the reading continues through the end of the scratchpad, regardless of the actual ending offset. for more inform ation on generating crc values see the dallas application note 27. figure 15. crc-16 hardware description and polynomial pol y nomial = x 16 + x 15 + x 2 + 1 x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 x 13 x 14 x 15 x 16 1 st stage 2 nd stage 3 rd stage 4 th stage 6 th stage 5 th stage 7 th stage 8 th stage 9 th stage 10 th stage 11 th stage 12 th stage 13 th stage 14 th stage 15 th stage 16 th stage input dat a crc output
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 44 of 53 command-specific 1-wire communication protocol?legend symbol description rst 1-wire reset pulse generated by master pd 1-wire presence pulse generated by slave select command and data to satisfy the rom function protocol ws command "write scratchpad" rs command "read scratchpad" cps command "copy scratchpad with password" rmc command "read memory with password & crc" cm command "clear memory with password " fc command "forced conversion" sm command "start mission with password" stp command "stop mission with password" ta target address ta1, ta2 ta-e/s target address ta1, ta2 with e/s byte transfer of as many data bytes as are needed to reach the scratchpad offset 1fh transfer of as many data bytes as are needed to reach the end of a memory page transfer of as many data bytes as are needed to reach the end of the data log memory transfer of 8 bytes that either r epresent a valid password or acceptable dummy data <32 bytes> transfer of 32 bytes transfer of an undetermined amount of data ffh transmission of one byte ffh crc16\ transfer of an inverted crc16 ff loop indefinite loop where the master reads ff bytes aa loop indefinite loop where the master reads aa bytes command-specific 1-wire communi cation protocol?color codes master to slave slave to master write scratchpad, reaching the end of the scratchpad (cannot fail) rst pd select ws ta crc16\ ff loop read scratchpad (cannot fail) rst pd select rs ta-e/s crc16\ ff loop copy scratchpad with password (success) rst pd select cps ta-e/s aa loop
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 45 of 53 copy scratchpad with password (fail ta-e/s or password) rst pd select cps ta-e/s ff loop read memory with p assword and crc (success) rst pd select rmc ta crc16\ <32 bytes> crc16\ ff loop read memory with password a nd crc (fail password or address) rst pd select rmc ta ff loop clear memory with password rst pd select cm ffh ff loop to verify success, read the general status regist er at address 0215h. if memclr is 1, the command was executed successfully. forced conversion rst pd select fc ffh ff loop to read the result and to verify success, read the addr esses 020ch to 020fh (results) and the device sample counter at address 0223h to 0225h. if the count has in cremented, the command was executed successfully. start mission with password rst pd select sm ffh ff loop to verify success, read the general status register at address 0215h. if mip is 1 and memclr is 0, the command was executed successfully. stop mission with password rst pd select stp ffh ff loop to verify success, read the general status register at address 0215h. if mip is 0, the command was executed successfully. loop
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 46 of 53 mission example: prepare and start a new mission assumption: the previous mission has been ended by using the stop mission command. passwords are not enabled. the device is a ds1923. starting a mission requires three steps: step 1: clear the data of the previous mission step 2: write the setup data to register page 1 step 3: start the mission step 1 clear the previous mission. with only a single device connected to the bus master , the communication of step 1 looks like this: master mode data (lsb first) comments tx (reset) reset pulse rx (presence) presence pulse tx cch issue ?skip rom? command tx 96h issue ?clear memory? command tx <8 ffh bytes> send dummy password tx ffh send dummy byte tx (reset) reset pulse rx (presence) presence pulse step 2 during the setup, the device needs to learn the following information: ? time and date ? sample rate ? alarm thresholds ? alarm controls (response to conditional search) ? general mission parameters (e.g., channels to log and logging format, rollover, start mode) ? mission start delay the following data will setup the ds1923 for a mission that logs temperature and humidity using 8-bit format for both. such a mission could last up to 28 days unt il the 8192-byte data log memory is full. address data example values function 0200h 00h 0201h 30h 15:30:00 hours time 0202h 15h 0203h 15h 0204h 05h 15 th of may in 2004 date 0205h 04h 0206h 0ah every 10 minutes (ehss = 0) sample rate 0207h 00h 0208h 66h 10c low temperature alarm 0209h 7ah 20c high threshold 020ah 6fh 40%rh low humidity alarm threshold, 020bh 9eh 70%rh high no software correction used 020ch ffh 020dh ffh (don?t care) clock through 020eh ffh read-only registers 020fh ffh
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 47 of 53 address data example values function 0210h 03h enable high and low alarm temperature alarm control 0211h ffh enable high and low alarm humidity alarm control 0212h 01h on (enabled), ehss = 0 (low sample rate) rtc oscillator control, sample rate selection 0213h c3h normal start; no rollover; 8-bit logging general mission control 0214h ffh (don?t care) clock through 0215h ffh read-only registers 0216h 5ah 0217h 00h 90 minutes mission start delay 0218h 00h with only a single device connected to the bus master , the communication of step 2 looks like this: master mode data (lsb first) comments tx (reset) reset pulse rx (presence) presence pulse tx cch issue ?skip rom? command tx 0fh issue ?write scratchpad? command tx 00h ta1, beginning offset=00h tx 02h ta2, address=02 00h tx <25 data bytes> write 25 bytes of data to scratchpad tx <7 ffh bytes> write through the end of the scratchpad tx (reset) reset pulse rx (presence) presence pulse tx cch issue ?skip rom? command tx aah issue ?read scratchpad? command rx 00h read ta1, beginning offset=00h rx 02h read ta2, address=02 00h rx 1fh read e/s, ending offset=1fh, flags=0h rx <32 data bytes> read scratchpad data and verify tx (reset) reset pulse rx (presence) presence pulse tx cch issue ?skip rom? command tx 99h issue ?copy scratchpad? command tx 00h tx 02h tx 1fh ta1 ta2 (authorization code) e/s tx <8 ffh bytes> send dummy password tx (reset) reset pulse rx (presence) presence pulse
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 48 of 53 step 3 start the new mission. with only a single device connected to the bus master , the communication of step 3 looks like this: master mode data (lsb first) comments tx (reset) reset pulse rx (presence) presence pulse tx cch issue ?skip rom? command tx cch issue ?start mission? command tx <8 ffh bytes> send dummy password tx ffh send dummy byte tx (reset) reset pulse rx (presence) presence pulse if step 3 was successful, the mip bit in the general status register will be 1, the memclr bit will be 0 and the mission start delay will count down. software correction algorithm for temperature the accuracy of high-resolution temperature conversion resu lts (forced conversion as well as temperature logs) can be improved through a correction algorithm. the data needed for this software correction is stored in the calibration memory (memory page 18). it consists of refere nce temperature (tr) and conversion result (tc) for two different temperatures, as shown below. see section temperature conversion for the binary number format. address designator description 0240h tr2h cold reference temperature, high-byte 0241h tr2l cold reference temperature, low-byte 0242h tc2h conversion result at cold reference temperature, high-byte 0243h tc2l conversion result at cold reference temperature, low-byte 0244h tr3h hot reference temperature, high-byte 0245h tr3l hot reference temperature, low-byte 0246h tc3h conversion result at hot reference temperature, high-byte 0247h tc3l conversion result at hot reference temperature, low-byte the software correction algorithm requires two additional values, which are not stored in the device. for the ds1923 these values are tr1 = 60c and offset = 41. the correction algorithm consists of two steps, prepar ation and execution. the prepa ration step first converts temperature data from binary to decimal c format. next three coefficients a, b, and c are computed. in the execution step the temperature reading as delivered by the ds1923 is first converted from the low/high-byte format (tcl, tch) to c (tc) and then corrected to tcorr. on ce step 1 is performed, the three coefficients can be used repeatedly to correct any temperature reading and temperature log of the same device . step 1. preparation tr1 = 60 offset = 41 tr2 = tr2h/2 + tr2l/512 - offset (convert from binary to c) tr3 = tr3h/2 + tr3l/512 - offset (convert from binary to c) tc2 = tc2h/2 + tc2l/512 - offset (convert from binary to c) tc3 = tc3h/2 + tc3l/512 - offset (convert from binary to c) err2 = tc2 - tr2 err3 = tc3 - tr3 err1 = err2 b = (tr2 2 - tr1 2 ) * (err3 - err1)/[(tr2 2 - tr1 2 ) * (tr3 - tr1) + (tr3 2 - tr1 2 ) * (tr1 - tr2)] a = b * (tr1 ? tr2) / (tr2 2 - tr1 2 ) c = err1 - a * tr1 2 - b * tr1
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 49 of 53 step 2. execution tc = tch/2 + tcl/512 - offset (convert from binary to c) tcorr = tc - (a * tc 2 + b * tc + c) (the actual correction) numerical correction example converted data from calibration memory error values tr2 = -10.1297c tr3 = 24.6483c tc2 = -10.0625c tc3 = 24.5c err2 = 0.0672c err3 = -0.1483c err1 = err2 resulting correction coefficients application of correction coe fficients to sample reading b = -0.008741 a = 0.000175/c c = -0.039332c tc = 22.500000c tcorr = 22.647275c note: the software correction requires floating point arithmet ic (24-bit or better). suit able math libraries for microcontrollers are found on various websit es and are included in cross-compilers. software correction algorithm for humidity the accuracy of humidity conversion re sults (forced conversion as well as logged data) can be improved through a correction algorithm. the data needed for this software co rrection is stored in the calibration memory (memory page 18). it consists of reference humidity (hr) and conver sion result (hc) for three different humidity levels, as shown below. the data is taken at 25c. address designator description 0248h hr1h low reference humidity, high-byte 0249h hr1l low reference humidity, low-byte 024ah hc1h conversion result at lo w reference humidity, high-byte 024bh hc1l conversion result at low reference humidity, low-byte 024ch hr2h medium reference humidity, high-byte 024dh hr2l medium reference humidity, low-byte 024eh hc2h conversion result at medi um reference humidity, high-byte 024fh hc2l conversion result at medium reference humidity, low-byte 0250h hr3h high reference humidity, high-byte 0251h hr3l high reference humidity, low-byte 0252h hc3h conversion result at high reference humidity, high-byte 0253h hc3l conversion result at high reference humidity, low-byte the correction algorithm consists of two steps: prepar ation and execution. the prepa ration step first converts humidity data from binary to decimal %rh format. next three coefficients a, b, and c are computed. in the execution step the humidity reading as delivered by the ds 1923 (raw data) is first converted from the low/high-byte format (hcl, hch) to %rh (hc) and then corrected to hcor r. once step 1 is performed, the three coefficients can be used repeatedly to correct any humidity reading and humidity log of the same device .
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 50 of 53 step 1. preparation for the humidity data in the calibration me mory, the lower four bits of each low by te are set to 0. this simplifies the conversion from the binary data format to raw %rh values to a one-line equation. hr1 = ((hr1h * 256 + hr1l) * 5.02/65536 - 0.958) /0.0307 (convert from binary to %rh) hr2 = ((hr2h * 256 + hr2l) * 5.02/65536 - 0.958)/0.0307 hr3 = ((hr3h * 256 + hr3l) * 5.02/65536 - 0.958)/0.0307 hc1 = ((hc1h * 256 + hc1l) * 5.02/65536 - 0.958)/0.0307 hc2 = ((hc2h * 256 + hc2l) * 5.02/65536 - 0.958)/0.0307 hc3 = ((hc3h * 256 + hc3l) * 5.02/65536 - 0.958)/0.0307 err1 = hc1 - hr1 err2 = hc2 - hr2 err3 = hc3 - hr3 b = [(hr2 2 - hr1 2 ) * (err3 - err1) + hr32*(err1 - e rr2) + hr12 * (err2 - err1)]/[(hr2 2 - hr1 2 ) * (hr3 - hr1) + (hr3 2 - hr1 2 ) * (hr1 - hr2)] a = [err2 - err1 + b * (hr1 - hr2)] / (hr2 2 - hr1 2 ) c = err1 - a * hr1 2 - b * hr1 step 2. execution hc = ((hch * 256 + hcl) * 5.02/65536 - 0.958) /0.0307 (convert from binary to %rh) hcorr = hc - (a * hc 2 + b * hc + c) (the actual correction) numerical correction example converted data from calibration memory error values hr1 = 20%rh hr2 = 60%rh hr3 = 90%rh hc1 = 17.65%rh hc2 = 56.41%rh hc3 = 89.57%rh err1 = -2.35%rh err2 = -3.59%rh err3 = -0.43%rh resulting correction coefficients application of correction coe fficients to sample reading b = -0.186810 a = 0.001948/%rh c = 0.607143%rh hc = 8.9%rh hcorr = 9.8%rh note: the software correction requires floating point arithmet ic (24-bit or better). suit able math libraries for microcontrollers are found on various websit es and are included in cross-compilers.
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 51 of 53 rh temperature compensation the data for the software correction of humidity is taken at 25c. since the temperature characteristics of the humidity sensor are known, humidity readings taken at other temperatures c an be corrected, provided the temperature at the time of the humidity conversion is also known. therefore, to obtain the most accurate humidity results, both temperature and humidity should be logged. temperature compensation uses the following equation: htcorr = (hcorr * k + *(t-25c) - *(t-25c)2)/(k + *(t-25c)- *(t-25c)2) hcorr is the humidity reading with the software correction algorithm for humidity already applied, as explained in the previous section. the function and values of t he other parameters are explained in the table below. name function value t temperature at the time of humidity conversion (in c) k humidity sensor conversion constant 0.0307 linear compensation, enumerator 0.0035/c quadratic compensation, enumerator 0.000043/c2 linear compensation, denominator >15c: 0.00001/c 15c: -0.00005/c quadratic compensation, denominator 0.000002/c2 numerical temperature compensation example sample input data application of correction coe fficients to sample reading t = 70c hcorr = 24.445%rh = 0.00001/c htcorr = (24.445 * 0.0307 + 0.0035 * 45 - 0.000043 * 452)/ (0.0307 + 0.00001 * 45 - 0.000002 * 452) htcorr = 30.291 % software saturation drift compensation capacitive humidity sensors read higher humidity values th an the actual humidity level when they are exposed to a high-humidity environment for an extended time period. th e ds1923?s humidity sensor produces readings that are higher than the actual humidity when exposed to humidity le vels of about 70%rh and higher. this shift continues to increase while the device remains at 70%rh and above. this effect is called saturation drift, or sometimes referred to as hyteresis. this drift is reversible. readings return to their regular level when the ds1923 is removed from a high-humidity environment. it is possible to compensate for most of the error intro duced by the saturation drift by post-processing temperature and humidity logs using the equation below, which is based on laboratory tests and curve-fitting techniques. hscorr = htcorr - arh k the average software corrected and temperat ure compensated humidity reading of the k th hour that the device is continuously exposed to 70%rh or higher. t k the average software corrected temperature reading of the k th hour that the device is continuously exposed to 70%rh or higher. n the number of hours that the device is c ontinuously exposed to 70%rh or higher. htcorr the humidity reading at the end of the n th hour with the software correction algorithm for humidity and temperature compensation already applied. see previous sections for details. the numbers in the equation are derived from curve fitting. they apply to a time scale in hours.
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 52 of 53 numerical saturation drift compensation example sample input data (n = 8) application of correction algorithm k (hour) t k (c) arh k (%rh) partial corrections (individual addends) 1 25.1 91.1 1.024321 2 25.0 92.5 0.751140 3 24.9 92.9 0.544824 4 25.0 93.1 0.393535 5 25.1 93.2 0.283950 6 25.1 93.3 0.205086 7 25.0 93.6 0.148591 8 24.9 93.7 0.107428 htcorr = 93.70207 %rh sum of partial corrections: 3.458875 hscorr = htcorr - sum of partial corrections = 93.70207 %rh - 3.458875%rh hscorr = 90.24319%rh the data in this example was taken from devices that we re exposed for several hours to 90%rh at 25c in a test chamber. the drift per hour decreases the longer the devic e is exposed to high humidity. the correction algorithm compensates for the drift reasonably well. since the error intr oduced by the saturation is relatively small, for some applications compensation may not be necessary.
ds1923: hygrochron temperature/humidity logger i button with 8kb data-log memory 53 of 53 revision history revision date description pages changed 120507 change bullet from ?hydrophobic filter protects sensor against dust, dirt, water, and contami nants? to ?hydrophobic filter protects sensor against dust, dirt, contaminants, and water droplets/condensation?. delete ?application pending? from ul bullet and safety statement. add text to application section: note that the initial sealing level of ds1923 achieves ip56. aging and use conditions can degrade the integrity of the seal ov er time, so for applications with significant exposure to liquids, sprays, or other similar environments, it is recommended to place the hygrochron under a shield to protect it (see www.maxim-ic.com/an4126 ). the hydrophobic filter may not protec t the ds1923 from destruction in the event of full submersion in liquid. 1, 4, 10


▲Up To Search▲   

 
Price & Availability of DS1923-F5

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X